正则表达式
Posted 2312947032zyk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
正则表达式组成元素:
. | 匹配除换行符以外的任意单个字符 |
* | 匹配位于*之前的字符或者子模式的0次或者多次出现 |
+ | 匹配位于+之前的字符或者子模式的1次或者多次出现 |
? | 匹配位于?之前的0个或者一个字符 |
- | 在[]之内用来表示范围 |
| | 匹配位于|之前或之后的字符 |
^ | 匹配行首,匹配以^后面的字符开头的字符串 |
$ | 匹配行尾,匹配以$后面的字符开头的字符串 |
表示位于之后为转义字符 | |
f | 换页符匹配 换行符匹配 匹配回车符 |
匹配单词头或单词尾,B和他含义相反 | |
d | 匹配任何数字相当于[0-9],D含义相反 |
s | 匹配任何话空白字符,包括空格制表符 换页符 |
w | 匹配 任何字母 数字以及下划线相当于[a-zA-Z0-9] |
() | 将位于()看作一个整体来对待 |
{m,n} | {}前的字符或子模式重复至少m次,至多n次 |
[] | 表示范围,匹配位于[]中的任意一个字符 |
[^a-z] | 反向范围字符,匹配出小写英文字母之外的任意字符 |
用javascript进行测试训练:
输入的内容带不带小数点
1 function isTrue(strValue ) { 2 var reg= /^d+.d+$/ 3 if(reg.test(strValue)){ 4 alert("验证通过") 5 }else{ 6 alert("验证失败") 7 return 8 } 9 } 10 function check() { 11 var regvalue=document.getElementById("reg").value 12 isTrue(regvalue) 13 }
在isture()方法中定义的reg就是正则表达式:/^表示匹配正则的开始,$/表示匹配正则的结束,d表示匹配0-9的数字,.前面的表示为转义,因为.在正则表达式中有特定含义,所以要转义,+表示数字最少出现一次。
输入为邮箱
function isTrue(strValue ) { var reg=/^[email protected][a-zA-Z0-9]{2,10}(.[a-z]{2,4}){1,3}$/ if(reg.test(strValue)){ alert("验证通过") }else{ alert("验证失败") return } } function check() { var regvalue=document.getElementById("reg").value isTrue(regvalue) }
在isture()方法中定义的reg就是正则表达式:/^表示匹配正则的开始,$/表示匹配正则的结束,w+表示@符号之前可以出现1次或者多次的字母、数字、下划线等,@符号后面紧跟着是类似于qq、163、sina等,所以用[a-zA-Z0-9]{2,10}表示可以出现字母、数字2到10次,.表示转义.,.后面小写字母a~z可以出现2到4次。
常用的正则表达式有:
- 是否带有小数:reg= /^d+.d+$/
- 是否由2~4长度的中文名称组成:reg=/^[u4E00-u9FA5]{2,4}$/
- 校验是否全由8位数字组成:reg=/^[0-9]{8}$/
- 校验电话码格式:reg= /^((0d{2,3}-d{7,8})|(1[3584]d{9}))$/
- 校验邮件地址是否合法:reg=/^[email protected][a-zA-Z0-9]{2,10}(?:.[a-z]{2,4}){1,3}$/ ,也可以写成reg =‘^[email protected](w+.)+w+$‘
- 检查给定字符串是否为合法身份证格式:reg=‘^d{18}|d{15}$‘
- 检查给定字符串是否为移动手机号码:reg=‘^(13[4-9]d{8})|(15[01289]d{8})$‘‘
- 密码:匹配长度为5-20,必须以字母开头包含数字、“_”、“.”的字符:reg=‘^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$‘
- 昵称:匹配长度为6-20的字符串,可以包含字母、数字、下划线:reg=‘^(w){6,20}$‘
- ip地址:检查给定字符串是否为合法IP地址:reg=‘^d{1,3}.d{1,3}.d{1,3}.d{1,3}$‘
以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性