网站地图    收藏   

主页 > 前端 > javascript >

文本框只允许输入数字代码

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 一般我们限制文本框只允许输入数字的方法用得最多的就是js与正则达式来限制了,下面我来给各位朋友介绍介绍。...

在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')">

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论