浅谈Javascript常用正则表达式应用
模式修饰符的可选参数
- i:忽略大小写
- g:全局匹配
- m:多行匹配
- /hello/:两个反斜杠是正则表达式的字面量表示法
两个测试方法
test
consttest=newRegExp('helloworld','ig'); console.log(test.test('helloworld'));//true
exec
返回的是数组,有就返回数组的值,没有返回为null
consttest=newRegExp('helloworld','ig'); console.log(test.exec('hello'));//null
四个正则表达式方法
match(pattern)
将所有匹配的字符串组合成数组返回
constpattern=/Box/ig; conststr="ThisisaBox!Theisabox!"; console.log(str.match(pattern));
search(pattern)
返回字符串中pattern开始位置,忽略全局匹配
constpattern=/Box/i; // conststr="ThisisaBox!Theisabox!"; console.log(str.search(pattern));//10
replace(pattern)
替换匹配到的字符串
constpattern=/Box/ig; conststr="ThisisaBox!Theisabox!"; console.log(str.replace(pattern,'Tom'));
split(pattern)
返回字符串指定pattern拆分数组
constpattern=//ig; //空格 conststr="ThisisaBox!Theisabox!"; console.log(str.split(pattern));//以空格进行分割,返回的是数组 //输出结果 //['This','is','a','Box!','The','is','a','box!']
匹配模式
\w表示a-zA-Z_
锚元字符匹配(^$)^强制收匹配$强制尾匹配,并且只匹配一个
constpattern=/^[a-z]oogle\d$/; conststr="aoogle2"; console.log(pattern.test(str));//true
注意:^符号在[]里面表示非在外边表示强制首匹配,并且只匹配一个要想匹配多个值,使用+
\b表示到达边界
|表示匹配或选择模式
constpattern=/baidu|google|bing/;//匹配或选择其中某个字符,不是相等,包含的意思 conststr="baiduagoogle"; console.log(pattern.test(str));//返回true
常用正则表达式
检查邮政编码
constpattern=/^[1-9]{1}[0-9]{5}$/; conststr="122534";//共6位数,第一位不能为0 console.log(pattern.test(str));//true
压缩包后缀名
\w等于a-zA-Z0-9_使用^限定从首字母匹配.是特殊符号需要\n进行转义
|选择符必须使用()进行分组
constpattern=/^[\w]+\.(zip|gz|rar)$/; conststr="a12_.zip";//文件名字母_数字.zip,gz,rar console.log(pattern.test(str));//true
删除多余空格
方法一:使用replace只匹配一个,所以使用+匹配多个
varpattern=/^\s+/; varstr="google"; varresult=str.replace(pattern,''); pattern=/\s+$/; result=result.replace(pattern,'');
方法二:(.+)贪婪模式,使用惰性模式,后面的空格不让匹配
varpattern=/^\s+(.+?)\s+$/; varstr="google"; varresult=pattern.exec(str,'')[1]; console.log('|'+result+'|');
方法三:(.+)贪婪模式,改为惰性模式,使用分组模式,只取匹配的内容
varpattern=/^\s+(.+?)\s+$/; varstr="google"; varresult=str.replace(pattern,'$1');//使用分组模式 console.log('|'+result+'|');//|google|
简单邮箱验证
varpattern=/^([\w\.\_]+)@([\w\_]+)\.([a-zA-Z]){2,4}$/; varstr="qzfweb@gmail.com"; console.log(pattern.test(str));//true
以上所述是小编给大家介绍的Javascript常用正则表达式应用讲解详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!