正则表达式
正则表达式是用来表达字符串的规格和模式的,可以用来判断字符是否符合用途和规则,比如验证邮箱
验证手机号等
创建正则表达式
字面量创建正则表达式,斜杠中间写条件
var str=//;
RegExp创建正则表达式,以字符串的形式写条件
var re=new RegExp('wh')
执行正则表达式
//传递一个变量,需要执行正则判断的数据,返回正则匹配到的内容
str.exec(value)
//传递一个变量,需要执行正则判断的数据,返回true或者false
str.test(value)
正则表达式匹配字符含义
在//之后加g代表全局搜索
var str =//g;
匹配h
/h/
匹配th和带s的所有字符,.号代表可以使任意一个字符
/th.s/
数字0-9 变成大写则相反
\d
大小写字符和数字和下划线 变成大写则相反
\w
匹配空格 变成大写则相反
\s
匹配中文需要中文的unicode码
出现0次或者多次,不能匹配换行符,不能匹配换行后的字符
*
出现1次或多次,至少出现一次
+
出现1次或0次
?
精确的出现了几次
{2}
出现1-3次,超过3次则继续查找并返回
{1,3}
至少出现一次
{1,}
匹配a-z得字符
a-z A-Z 0-9
不匹配字符 不匹配0-9必须放到区间里面,如果不放里面就是开头的意思,必须以什么开头
^ [^0-9]
字符串的结尾,以什么结尾
$
边界代表这字符旁边的空格
\b
如果需要匹配特殊字符需要转义
\- 匹配中划线
或者的意思
|
//字符串的match方法,接受一个正则表达式,会把匹配到的结果返回回来
str.match()
正则表达式的区间,逻辑,界定符
正则表达式的区间是指在这个区间内查找
/[value]/
分组匹配 匹配第一个带有th的单词和最后一个th中间的内容,最后一个th后面的th后面的字符不在显示
(th).*(th)
常用的正则表达式
手机号验证
/^1[3-9]\d{9}/g
邮箱验证
/^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/g
用户名验证
/^[a-zA-Z][a-zA-Z0-9_]{5,14}$/g
字符串替换
replace方法第一个参数也可以传正则进行替换
replace('查找','替换')
split支持正则替换
split(正则,替换内容)