js控制input输入框的方法封装(数字,中文,字母,浮点数等)

在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。
/** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
 
 
function limitInptFormat(){
    var inputType=['number','chinese','alphabet','floating'];

	$('body').delegate("input[jInput]", "keyup", function(e) {
		var input_type = $(this).attr('jInput').split(',')
		var value = $(this).val();
		if (!input_type && input_type.length <= 0) {
			return;
		}
		var values_of_type = [];
		var RegStr = '^[';
		for (var i = 0; i < input_type.length; i++) {
			if (input_type[i]) {
				if (input_type[i] == 'number') {
					RegStr += '\\d';
				} else if (input_type[i] == 'chinese') {
					RegStr += '\\u4e00-\\u9fa5';
				} else if (input_type[i] == 'alphabet') {
					RegStr += 'a-zA-Z';
				} else if (input_type[i] == 'floating') {
					RegStr = '^[\\+\\-]?\\d+\\.?\\d+';
					$(this).val(value.match(new RegExp(RegStr, 'g')));
					return;
				}
			}
		}
		RegStr += ']*';
		if (RegStr.length <= 3) {
			return;
		}
		var expression = new RegExp(RegStr, 'g');
		var return_value = value.match(expression);
		$(this).val(return_value);
	});
}
 
 

 

你可能感兴趣的:(javascript js)