使用正则表达式限制输入框只能输入数字
2009-12-27 20:01
696 查看
正则表达式限制输入框只能输入数字
代码如下:
<input type="text" onkeyup="this.value=this.value.replace(/[^/d]/g,'') " onafterpaste="this.value=this.value.replace(/[^/d]/g,'') " name="f_order" value="1"/>
其中,onafterpaste防止用户从其它地方复制内容粘贴到输入框
输入框只能输入字母和下横线的正则表达式
<input onkeyup="this.value=this.value.replace(/[^_a-zA-Z]/g,'')" onpaste="this.value=this.value.replace(/[^_a-zA-Z]/g,'')">
输入框只能输入字母数字和下横线的正则表达式
<input onkeyup="this.value=this.value.replace(/[^/w]/g,'')" onpaste="this.value=this.value.replace(/[^/w]/g,'')">
或
<input onkeyup="this.value=this.value.replace(/[/W]/g,'')" onpaste="this.value=this.value.replace(/[/W]/g,'')">
不过上面使用的是替换的方法,因为替换的执行需要一定的时间,所以就存在个漏洞。就是只要你操作够快,在替换执行前你就提交了表单
那上面的限制就失效了。
要想没有上面的BUG,就得改下触发事件。上面是onkeyup,需要改成onkeypress。代码如下
<input onkeypress="if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" >
这里使用的是ASCII码,'0'的ASCII码为48,'9'的ASCII码为57。可以根据自己的需要修改条件。
这个没有处理粘贴事件,就是用户可以粘贴过来其它字符,只要把上面的onkeyup和onpaste事件加过来就可以了
代码如下:
<input type="text" onkeyup="this.value=this.value.replace(/[^/d]/g,'') " onafterpaste="this.value=this.value.replace(/[^/d]/g,'') " name="f_order" value="1"/>
其中,onafterpaste防止用户从其它地方复制内容粘贴到输入框
输入框只能输入字母和下横线的正则表达式
<input onkeyup="this.value=this.value.replace(/[^_a-zA-Z]/g,'')" onpaste="this.value=this.value.replace(/[^_a-zA-Z]/g,'')">
输入框只能输入字母数字和下横线的正则表达式
<input onkeyup="this.value=this.value.replace(/[^/w]/g,'')" onpaste="this.value=this.value.replace(/[^/w]/g,'')">
或
<input onkeyup="this.value=this.value.replace(/[/W]/g,'')" onpaste="this.value=this.value.replace(/[/W]/g,'')">
不过上面使用的是替换的方法,因为替换的执行需要一定的时间,所以就存在个漏洞。就是只要你操作够快,在替换执行前你就提交了表单
那上面的限制就失效了。
要想没有上面的BUG,就得改下触发事件。上面是onkeyup,需要改成onkeypress。代码如下
<input onkeypress="if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" >
这里使用的是ASCII码,'0'的ASCII码为48,'9'的ASCII码为57。可以根据自己的需要修改条件。
这个没有处理粘贴事件,就是用户可以粘贴过来其它字符,只要把上面的onkeyup和onpaste事件加过来就可以了
相关文章推荐
- 正则表达式限制输入框只能输入数字
- 正则表达式限制输入框只能输入数字
- 正则表达式限制输入框只能输入数字
- 关于正则表达式的使用一例。在Textbox 对话框内限制只能输入数字,如果输入出错,则清空内容。
- 正则表达式限制输入框只能输入数字
- 正则表达式限制输入框只能输入数字
- 正则表达式限制输入框只能输入数字
- jQuery使用正则表达式限制文本框只能输入数字
- 正则表达式限制输入框只能输入数字
- 正则表达式限制文本框只能输入数字
- 正则表达式限制文本框只能输入数字
- replace限制文本框只能输入数字,数字和字母等的正则表达式
- 正则表达式限制文本框只能输入数字
- 常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)
- 用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- 用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- 正则表达式限制文本框只能输入数字
- replace限制文本框只能输入数字,数字和字母等的正则表达式
- 正则表达式限制文本框只能输入数字
- 正则表达式限制文本框只能输入数字,小数点,英文字母,汉字