----------------------------------------------------------------------------------------
***********************js各种验证文本框输入格式**************************
----------------------------------------------------------------------------------------
不能为空
<input οnblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')">
只能输入英文和数字
<input οnblur="if(/[^0-9a-zA-Z]/g.test(value))alert('有错')">
<input οnkeyup="value=value.replace(/[^0-9a-zA-Z]/g,'')"/>
<input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">
判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
/^([a-zA-z_]{1})([\w]*)$/g.test(str)
只能输入数字
<input name="text" type="text" id="NewPage" onKeyUp="value=value.replace(/\D/g,'')" onafterpaste="value=value.replace(/\D/g,'')" >
只能输入中文
<input type="text" οnkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
只能输入英文
<input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')">
<input type="text" οnkeyup="value=value.replace(/[^a-zA-Z]/g,'')">
只能输入中文、英文、数字、@符号和.符号
<input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">
只允许输入英文,且不能粘贴也无法弹出粘贴菜单
<input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" οnkeydοwn="fncKeyStop(event)" οnpaste="return false" oncontextmenu = "return false"/>
只能输入数字和点号(注意:在[^\d\.]里的d不能写成大写D,否则就变成除了数字以外的所有字符)
<input name="price" type="text" size="8" maxlength="8" οnkeyup="value=value.replace(/[^\d\.]/g,'')" >
总而言之:先在<input>里输入οnkeyup="value=value.replace(/[^\X]/g,'')" 然后在(/[\X]/g,'')里的X换成你想输入的代码就可以了
中文:u4E00-u9FA5
数字:d、0-9
英文:a-z、A-Z
其它符号@,点或其它符号.也可以多个,用\隔开就行了.
例如:
中、英文和数字加@符号加点符号:\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.
若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话就要在<input>里输入 onKeyDown="fncKeyStop(event)" οnpaste="return false" οncοntextmenu="return false;"
---------------------------------------------------------------------------------
*******************************正则表达式语法**************************
---------------------------------------------------------------------------------
网址:http://deerchao.net/tutorials/regex/regex.htm
常用元字符
代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
常用限定符
代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
常用反义词
代码/语法 说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
例子:
\(?0\d{2}[) -]?\d{8}。
“(”和“)”也是元字符,后面的分组节里会提到,所以在这里需要使用转义。
这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。
我们对它进行一些分析吧:
首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。