正则表达式
正则表达式是用来表达字符串的规格和模式的,可以用来判断字符是否符合用途和规则,比如验证邮箱 验证手机号等
创建正则表达式
字面量创建正则表达式,斜杠中间写条件 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(正则,替换内容)