这段时间都在做前期WEB程序的完善与维护,发现在表单验证与控制上,正则表达式还是十分有帮助的。只是还没有时间去学习这门语言的写作,为了急用就从网上查找了一些常用的。这里把收集的整理一下列出来,一是作个备忘,再一个也为以后学习使用它作个参考。
一、17个正则收藏
"^/d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-/d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?/d+$" //整数
"^/d+(/./d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-/d+(/./d+)?)|(0+(/.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$"//负浮点数
"^(-?/d+)(/./d+)?$" //浮点数
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
"^/w+$" //由数字、26个英文字母或者下划线组成的字符串
"^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$" //email地址
"^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$" //url
二、输入法
1、匹配中文字符的正则表达式: [/u4e00-/u9fa5]
2、匹配首尾空格的正则表达式:(^/s*)|(/s*$)
3、用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
4、用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
三、限制条件输入
1、只能输入1个数字: ^/d$
2、只能输入n个数字:^/d{n}$
3、只能输入至少n个数字:^/d{n,}$
4、只能输入m到n个数字:^/d{m,n}$
5、只能输入数字 :^[0-9]*$
6、只能输入某个区间数字:^[12-15]$
7、只能输入n位小数的正实数:^[0-9]+(.[0-9]{n})?$
8、只能输入m-n位小数的正实数:^[0-9]+(.[0-9]{m,n})?$
9、只能输入n个字符:^.{n}$
10、验证首字母大写:/b[^/Wa-z0-9_][^/WA-Z0-9_]*/b
11、验证手机号(包含159,不包含小灵通):^13[0-9]{1}[0-9]{8}|^15[9]{1}[0-9]{8}
当然,正则表达式还有很多类型,这里列出的只是我暂时找到的一些比较常用的。在以后的学习时间里,我们将有可能遇到各种各样的新的正则需求,以使我们写出更多适合的正则表达式。学无止境,在每一天的进步中,我们都会触及到许多新的知识,这些都有待我们去发现。