RegExp 对象:
表示正则表达式,它是对字符串执行模式匹配的强大工具。
创建:
a. var reg = /pattern/attr
b. var reg = new RegExp(pattern, attr);
pattern:指定了正则表达式的模式
attr:是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、忽略大小写的匹配和多行匹配。
pattern:
简单模式:
/red/ /white/
复杂模式:
方括号:
[] -- 查找方括号范围内的任何一个字符。如:[abc]
[^] -- 查找任何不在方括号之间的字符。 如:[^abc]
元字符:
. -- 代表除换行、行结束符外的任意字符
\w -- 代表单词字符:字母、数字、下划线 [a-zA-Z0-9_]
\d -- 代表数字字符:[0-9]
\s -- 代表空白字符,包括 空格、回车、换行、制表........
\b -- 代表单词边界 "hello world"
量词:
+ -- 表示至少出现一次,如:[a-z]+
* -- 可出现任意多次(0到多次)
? -- 表示最多出现一次,如:[0-9]?
{n} -- 表示固定出现n次,如:\w{3}
{n,} -- 表示至少出现n次
{n,m} -- 出现n到m次
^ -- 表示开始,如:^[a-z]、^\w
$ -- 表示结束,如:\d$
API方法:
reg.test(str)
-- 测试 str 字符串是否匹配 reg 正则表达式模式规则,匹配返回 true,不匹配则返回 false
reg.exec(str)
-- 如果字符串匹配正则模式,则返回数组,不匹配则返回 null
-- 如果返回数组,则数组中第一个元素是完整的匹配结果,第二个及之后的元素(如果有的话)是各分组中匹配的结果
字符串中与正则表达式相关的方法:
str.match(reg)
str.search(reg)
str.replace(reg, newStr)
str.split(reg)
ES5中字符串对象新增了 trim() 方法,可以去掉字符串前后空白,如果浏览器不支持使用该方法,如何实现去掉字符串前后空白:
解:var reg = /^\s+|\s+$/g //解决字符串前后空白
var reg = /\s/g //解决字符串前后及字符串本身均含空白