在asp.net中我常用的写法是
代码如下 | 复制代码 |
<asp:TextBox ID="syear" onKeyUp="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')" runat="server" Width="69px"></asp:TextBox> |
我们会看到一下面这么一句
代码如下 | 复制代码 |
onKeyUp="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')" |
表单中只允许输入数字的方法:
代码如下 | 复制代码 |
<input onkeyup="value=value.replace(/D/g,'')"> |
其实很简单与html中的js没有区别的,这种方法很好用,但是在Firefox不起作用,因为firefox下不识event该事件,当然,你可以参照第二个例子改一下也行.
代码如下 | 复制代码 |
script type="text/javascript"> function noNumbers(e) { var keynum; var keychar; var numcheck; if(window.event) // IE { keynum = e.keyCode; } else if(e.which) // Netscape/Firefox/Opera { keynum = e.which; } keychar = String.fromCharCode(keynum); numcheck = /d/; return !numcheck.test(keychar); } </script> <input type="text" onkeypress="return noNumbers(event)" /> </form> |
这个例子只允许输入字母,想改成只输入数字吗?很简单,把
代码如下 | 复制代码 |
return !numcheck.test(keychar);改成: return numcheck.test(keychar);即可 |
下面分享一些其它的限制正则
常用的正则表达式 只能输入数字:“^[0-9]*$”
只能输入n位的数字:“^d{n}$”
只能输入至少n位数字:“^d{n,}$”
只能输入m-n位的数字:“^d{m,n}$”
只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
只能输入非零的正整数:“^+?[1-9][0-9]*$”
只能输入非零的负整数:“^-[1-9][0-9]*$”
只能输入长度为3的字符:“^.{3}$”
只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,
只能包含字符、数字和下划线。
验证是否含有^%&',;=?$"等字符:“[^%&',;=?$x22]+”
只能输入汉字:“^[u4e00-u9fa5],{0,}$”
验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”
验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”
验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”
正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,
“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
验证身份证号(15位或18位数字):“^d{15}|d{}18$”
验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”
正确格式为:“01”“09”和“1”“31”。
只能输入字母和汉字
代码如下 | 复制代码 |
<input onkeyup="value=value.replace(/[d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[d]/g,''))" maxlength=10 name="Numbers"> |
只能输入英文字母和数字,不能输入中文
代码如下 | 复制代码 |
<input onkeyup="value=value.replace(/[^w./]/ig,'')"> |
只能输入数字和英文<font color="Red">chun</font>
代码如下 | 复制代码 |
<input onKeyUp="value=value.replace(/[^d|chun]/g,'')"> |
小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
代码如下 | 复制代码 |
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false"> |
8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
代码如下 | 复制代码 |
<input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')"> |