首页 > 技术文章 > 表单验证表达式。自己编辑理解。 9.26

zc290987034 2016-09-26 16:20 原文

表单元素:不允许客户输入错误的,只能输入对的;
1.非空验证:如果是空的就不可以进去,
onclick点击事件

表单验证 return

trim() 去除前后空格

onblur() 失去焦点

&&字符串并且

2;相等验证


3.特殊格式验证;(正规验证)
正规表达式
定界符 / / 开始一个/ 结束一个/
反斜杠 \ 代表转义

\r 代表换行

\t

\\两个反斜杠代表输出一个反斜杠

\" 代表输出一个双引号
\' 代表输出一个单引号


+代表前面的表达式,最少只能出现一次;
?代表前面的表达式, 最多可以出现0次或1次


{n} 前面的表达式出现n次
{n,}前面的表达式最少出现n次最多不限

{n,m} 前面的表达式最少出现n次最多m次

x|y 代表可以匹配
[a-z]代表匹配a到z的字符
[0-9]代表匹配0到9的字符


\d代表一个数字字符
\D匹配一个非数字字符。
\s匹配可见字符

\w匹配包括下划线的任何单词字符

 

正则表达式
匹配开头正斜杠 /
匹配结束正斜杠 / 也称定界符


\ 反斜杠 代表转义字符代表有特殊意义,特殊输出的。。 比较长用的就是这几个:\r 换行 \n 换行 \t 制表符 \" 输出双引号 \'输出单引号
\r 这个r加在反斜杠后面就是代表换行 \n加在反斜杠后面也是代表换行。。 比如"就单纯输入一个字符串"rrrrrr"如果你在r群里随意加一个反斜杠,就不输出n啦;就代表换行。。
\t 代表制表符。如过单独想输出反斜杠就打两个 \\ 。。。 \"想输出一个双引号,就用反斜杠这样输出\" 单引号也是这样输出 \'

^ 匹配开头 $匹配结尾

 

* 代表前面的表达式可以出现n次,可以出现任意一次。 比如写一个8后面有一个星号,就是这样“8*”;就等于是这个8可以出现n次。

+ 代表前面的表达式可以出现至少一次最大不限。 比如写一个8后面有一个加号,就是这样“8+”;就是这个最少出现1次多少不限制。

? 代表前面的表达式可以出现0次或1次。 比如写一个8后面有一个问号,就是这样“8?”;就是这个可以出现0次或1次不能多。

花括号的语法:

{n} 代表前面的表达式出现n次;如果{n}是{5}的话,就只能出现5次,你把{n}设置成几就出现几次;

{n ,}代表前面的表达式至少出现n次最多不限。 如过把{n,}换成{1,}就相当于加号代表符啦,可以出现0次或1次不能多。

{n,m}代表前面的表达式,至少出现n次最多出现m次。如果{n,m}换成这样{1,99},就是最少出现1次,最多出现99次。

竖线的语法:

x|y 代表可以匹配 x 也可以匹配 y 也就是说可以出现 x 也可以出现 y

方括号的语法:方括号主要就是列出一些要匹配的内容。

[ 随便写 ]代表匹配方括号里面有的字符,比如[abgp56]在匹配的时候用户输入啦a可以 输入啦b也可以,只要出现里面的任意一个都可以。

[a-z] 代表匹配 a 到 z 26个字符

[0-9] 代表匹配 0 到 9 10个数字字符

单独的一些语法:

\d 代表匹配一个数字字符,

\D 大写的D代表匹配非数字字符。

\f 代表换页符。相当于换行。

\n 代表匹配一个换行符

\r 代表匹配一个回车符

\s 匹配任何不可见字符,包括空格、制表符、换页符等等。

\S 匹配任何可见字符。 能看的到的,比如26个英文字母;一些符号,数字等等,,,

\t 匹配一个制表符。

\v 匹配一个垂直制表符。

\w 匹配包括下划线的任何单词字符。26个字母大小写,数字字符类似这些“[^A-Za-z0-9_] 都可以和下划线 。

\W 匹配任何非单词字符。

\xn 匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“\x41”匹配“A”。

()就等于是一个优先级的组。 比如数学运算公式里3+4+(5+6)先算括号里的。

 

 

 

 

特殊需求表达式

 1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

 2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?

 3 InternetURL[a-zA-z]+://[^\s]* ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

 4 手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

 5 电话号码("XXX-XXXXXXX""XXXX-XXXXXXXX""XXX-XXXXXXX""XXX-XXXXXXXX""XXXXXXX""XXXXXXXX)^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$

 6 国内电话号码(0511-4405222021-87888822)\d{3}-\d{8}|\d{4}-\d{7}

 7 身份证号(15位、18位数字)^\d{15}|\d{18}$

 8 短身份证号码(数字、字母x结尾)^([0-9]){7,18}(x|X)?$ ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

 9 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)^[a-zA-Z][a-zA-Z0-9_]{4,15}$

10 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)^[a-zA-Z]\w{5,17}$

11 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$  

12 日期格式:^\d{4}-\d{1,2}-\d{1,2}

13 一年的12个月(0109112)^(0?[1-9]|1[0-2])$

14 一个月的31(0109131)^((0?[1-9])|((1|2)[0-9])|30|31)$ 

推荐阅读