正则表达式在验证字符是否匹配,字符串替换,提取子字符串等各个方面应用都非常广泛
下面做简要归纳,和一些小技巧。。。
1 *任意次,+ 一次,? 零次或一次, ^ 不匹配 ,$匹配结束 其实都是{n,m}格式的偷懒
2 []表单选,()表匹配一个子串 ,/d /D /w /W /t /s /S /f /n /v /b // 等匹配什么基本的要记下来
3 格式:一个字符串一个的加。。。。例如匹配一个非零字符,第一个为1-9 ,第二个后面的
不用限制/d,他们的组合就够了,/是下一个匹配字符的开始
常用的几个(有几个死随手写的,写错了别见笑。。。)
Email: /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
电话号码:(/(/d{3}/)|/d{3}-)?/d{8}
身份证:/d{18}|/d{15}
邮编:/d{6}
匹配一个非零字符:[1-9]+/d*
价格:^/d+(/./d{1,2})?$
匹配一个空白行:/^/[ /t]*$/ "^/[ /t]*$"
匹配中文字符的正则表达式: [/u4e00-/u9fa5]
匹配双字节字符(包括汉字在内):[^/x00-/xff]
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;}
匹配空行的正则表达式:/n[/s| ]*/r
匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/
匹配首尾空格的正则表达式:(^/s*)|(/s*$)
验证jpg和GIF图片:^.{1,}/.((j|J)(p|P)(g|G)|(g|G)(i|I)(f|F))$
验证IP地址:
^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$