限制用户输入的内容可以有如下做法:
$("#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-Zu4e00-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为起始,^为起始符,*为重复零次或多次
注:这个方法我始终觉得不是最优的,不过暂时也只能想到这么做,如果有更优的做法,欢迎分享,谢谢
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!