jquery 正整数数字校验正则表达式

限制用户输入的内容可以有如下做法:

$("#id").keyup(fucntion(){//当键盘按下之后立即校验,并替换当前操作框中的内容 var value = $(this).val(); $(this).val(value.replace(reg,replace_data)); });

最常见的就是限制用户只能录入数字

var reg = new RegExp("[^0-9]","g"); 

[^0-9]表示非0-9之间的数字,g表示全局匹配,i表示不匹配大小写

注:[^x]表示匹配除了x以外的任意字符,[^aeiou]表示匹配除了aeiou之外的任意字符

另一种方法为穷举法

var reg = new RegExp("[a-zA-Z\u4e00-\u9fa5,.!?(),。..;;?、]","ig"); 

用这种方法的话,RegExp中的内容就要尽可能地多列举你不希望用户能输入的字符,其中\u4e00-\u9fa5表示中文字符,ig表示不区分大小写全局匹配

当你输入数字时,不希望用户输入的数字为"01"、"001"诸如此类,则可以做如下:

if(rate.length > 1){ var reg = new RegExp("^[0]*","g"); var num = rate.replace(reg,""); $(this).val(num); }

^[0]*表示以0为起始,^为起始符,*为重复零次或多次

注:这个方法我始终觉得不是最优的,不过暂时也只能想到这么做,如果有更优的做法,欢迎分享,谢谢

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwdpgf.html