码迷,mamicode.com
首页 > Web开发 > 详细

js正则表达

时间:2017-10-18 13:17:08      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:var   sea   传参   replace   有用   匹配   下划线   符号   传参数   


正则表达式:
2种声明方式,var reg = new RegExp(“abc”)
var reg = /abc/
不同之处在于第一种方式可以传参数(var x = “abc”)

转义:
所有在正则里边拥有特殊意义的字符都需要转义
转义方式:在特殊字符前加\(在字符串中也是转义的意思,所以在传参时要写\\d)
eg:
"ac:\"ads\"";
转义字符加特定的字母有特殊的意思:(正则中)

\d 数字;\D 非数字; \s/S 空格/非空格;

\w/W 字符(字母、数字、下划线)/非字符;

\b 独立部分(只要是独立的单词就行,除了\w)(hot-dot) /\bdog\b/;
\B 非独立部分

特殊字符:
/ \

标识:写在//之后或者传第二个参数
i 不区分大小写
g 全局匹配 match方法
m 换行匹配


方法:
正则.test(字符串) 匹配成功返回true
字符串.match(正则) 匹配成功返回(类)数组,否则null
字符串.search(正则) 返回出现的下标
字符串.replace(正则,字符(函数)参数) 正则匹配的替换成第二个参数(可以是函数) 函数的参数第一个是匹配的,第二个是子项
字符串.split(正则)

量词:
{2,5} >=2 <=5 {2} {2,}
在全局匹配的时候只返回一个,加上量词代表限制
/\d{2,5}/ 58a5s589 返回一个包含58 589的数组


几个特殊量词有特殊符号表示:
+ {1,}
? {0,1}
* {0,}

字符集:
代表一个范围
[a-h] [\u4e00-\u9fa5] (汉字匹配)
代表或者
[ab] a或者b
/[ab0-9]/ a或者b或者0-9 0-9是一个整体
除了...之外
[^ab] 除了a和b之外 ^必须放在开头才有意义


子项:
()
match方法如果没有加g,并且你有用()规定子项,则会显示/(a)(b)/
/阿飞(很帅|好屌)/ 可以将|的全局变为一个区间

或者:
|
全局 /阿飞很帅|阿飞很吊/

 

^ 起始部分 /^[1-9]/ 起始必须是1-9
$ 结束部分 /[1-9]$/ 结束部分必须是1-9
. 匹配所有字符 除了换行(\n \r) 在字符集中是有特殊意义的!

在字符集中具有特殊意义的有: . \ ] - ^(必须开头) /

 

js正则表达

标签:var   sea   传参   replace   有用   匹配   下划线   符号   传参数   

原文地址:http://www.cnblogs.com/wusan/p/7685986.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!