什么是正则表达式?
正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符、及这些特定字符的组合,组成一个字符串规则,用来匹配符合规则的字符串。常在注册界面以及个人信息填写时会用到。
RegExp是正则表达式(regular expression)的缩写
如何声明正则表达式?
1.规则(pattern)写在两个斜杠 / / 之间,属性(attributes)写在第二个斜杠后面
var reg = /pattern/attributes;
2.使用RegExp构造函数创建,第一位参数写规则,第二位参数写属性
var reg = new RegExp(pattern, attributes)
参数pattern是一个字符串,指定了当前正则表达式的规则。参数attributes是一个可选字符,包含"g"、"i"、"m",分别指全局匹配、区分大小写的匹配和多行匹配。
常用第一种声明方法
三种属性
- i:忽视大小写的匹配
- g:全局匹配
- m:多行匹配,用于匹配具有换行符的字符串
三种属性可以自由组合,如ig就是指在全局范围内进行忽视大小写的匹配,等等
方括号:用于查找某个范围内的字符
元字符:指拥有特殊含义的字符
量词
常用 reg.test() 和 str.match() 来检测一个字符串是否符合规则
reg.test() 方法只返回 ture 或 false,str.match() 方法会返回匹配到的所有字符
常用正则工具
w3school查询:http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp
正则表达式测试:http://tool.oschina.net/regex/