表单验证表达式。自己编辑理解。 9.26
表单元素:不允许客户输入错误的,只能输入对的;
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-4405222、021-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个月(01~09和1~12):^(0?[1-9]|1[0-2])$
14 一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?