js进阶之正则表达式

正则表达式

ps 网上有一堆的正则表达式自动生成器,可以百度找到,直接粘贴过来使用,很方便,
这个文章主要是理解这个知识点,假如需要自己写的时候能写出来

定义一些字符串的规则,来检查一些字符串是否符合规则,获取字符串中符合规则的内容提取出来
1.创建正则表达式的对象
var 变量 = new RegExp(“正则表达式”,“匹配模式”)
简写 reg = /a/ig,使用上面的写法更加灵活
reg = /a|b/ | 和 [ab] 指的是或的意思 [a-z]任意小写字母 [A-z]所有字母
a[bde]c 检查是否是abc adc aec [^c] 除了c以外的字母
通过量词设置一个内容出现的次数,比如/a{3}/ 出现连续三次a /(ab){3}/出现连续三次ab
比如/a{1,3}/ 出现1次到3次a {3,}三次以上 /a+/ 至少一个 /a*/有没有a都行 /a?/0个或一个a
/^a/ 匹配以a开头 /a$/ 匹配以a结尾
.表示匹配任意字符,在正则表达式中使用.转义符号来匹配点,其他特殊
符号也需要转义来匹配,使用\时\来获得,
注意:在构造函数RegExp()时,\是转义符号,需要使用\时\来获得,在简写中不需要写
\w \W \b \B 等等特殊的匹配符,实现更多需求
小练习:手机号正则表达式/^(13|14|15|17|18)[0-9]{9}$/
typeof正则对象是一个object
var 变量 = new RegExp(“正则表达式”,“匹配模式”) 匹配模式取值 "i"忽视大小写"g"全局匹配模式
var reg = new RegExp(“a”)//这个正则表达式来检查字符串里是否有a,严格区分大小写
var str = “a”
var result = reg.test(str);
console.log(result); //true
正则表达式的方法:text()
使用这个方法可以检查一个字符串是否符合正则表达式
如果符合则返回True,否则返回false

2.字符串和正则表达式的联系

split()将字符串拆分为数组,r = ‘aadadadacsfwceew’,r.split(/[A-z]/),将所有拆分
全局正则即使没有设置全局!!!
search()
可以搜索字符串中是否含有指定内容 如果搜到指定内容,则会返回第一次出现的索引,如果没有返回-1
可以接受一个正则表达式作为参数,可以根据正则表达式去搜索,只能查找第一个!!!即使全局
str = " abc bcd dhg dcb agc"
result =str.search(/a[bg]c/)
console.log(result)
match
可以根据正则表达式,从一个字符串将符合的内容提取出来,全局g搜索可以将所有的搜素出来
返回的结果为object,是一个数组
replace(‘被替换内容的正则’‘替换的内容’) 替换 使用方法同上

更多前端资料

请关注公众号:前端从入门到SP
微信扫描二维码关注:

你可能感兴趣的:(前端,互联网,js)