javaScript 中常用的正则-输入限制(总统收藏呐~)

来源:互联网 发布:淘宝店铺推广方案ppt 编辑:程序博客网 时间:2024/05/17 21:07
嗯。前两天搞了一两下网站,不过有点背,刚弄完,数据库就被一些不良人士给搞了,然后没办法,只能去研究下js 的正则表达式了。。。
分享下吧~
先来个例子吧

<input type='text' name='txInput' onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
怎样,能看不? 老实说,我也不懂那一坨东西具体是指啥。。。

再看下面这几个例子,找找规律看看:
 JS 控制文本框只能输入数字
<input onkeyup="value=value.replace(/[^0-9]/g,'')" onpaste="value=value.replace(/[^0-9]/g,'')" oncontextmenu = "value=value.replace(/[^0-9]/g,'')">
 
JS 控制文本框只能输入数字、小数点
<input onkeyup="value=value.replace(/[^\0-9\.]/g,'')" onpaste="value=value.replace(/[^\0-9\.]/g,'')" oncontextmenu = "value=value.replace(/[^\0-9\.]/g,'')">
 
JS 控制文本框只能输入英文
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z]/g,'')">
 
JS 控制文本框只能输入英文、数字
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">
 
JS 控制文本框只能输入中文
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onpaste="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" oncontextmenu = "value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
 
JS 控制文本框只能输入中文、英文、数字
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')">
 
JS 控制文本框只能输入中文、英文、数字、空格
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')">
 
JS 控制文本框只能输入中文、英文、数字、小数点
<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')">

嗯,总结一下吧,onkeyup="value=value.replace(/[^\A]/g,‘’) " 这句话是指当输入非A类型的东西时会被replace函数的第二个参数,即两个单引号中的内容代替(这里两个单引号之间是空,所以会被代替为空,即清除你刚刚的输入),^ 是指取取反,
假如是onkeyup="value=value.replace(/[\A]/g,‘’) " 那就是指输入的内容符合A类型的话会被替代成空。。
 呵呵,怎样明白了吧。。。把A 换成 中文u4E00-u9FA5,数字0-9,英文a-z\A-Z,其它符号@、点或其它符号 试试吧。。
(要并多几个功能时别忘了用 \  哦)