正则式
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
JavaScript正则式介绍
http://www.w3school.com.cn/js/js_obj_regexp.asp
-
定义正则式
var patt1=new RegExp("eee");
var part2=/eee/
-
正则式的方法
- test()
reg2.test("you string"),检索传入的字符串是否匹配正则式,返回值为true或false - exec()
执行正则式匹配,返回结果为object,未匹配则为null,只执行一次匹配。如果配置了"g"全局匹配,则需要调用一次匹配一个结果
var patt1=new RegExp("e","g"); var result = patt1.exec("The best things") console.log(result); result = patt1.exec("The best things") console.log(result); result = patt1.exec("The best things") console.log(result); // [ 'e', index: 2, input: 'The best things' ] // [ 'e', index: 5, input: 'The best things' ] // null
- compile()
方法用于改变 RegExp。compile() 既可以改变检索模式,也可以添加或删除第二个参数。
var patt1=new RegExp("e"); console.log(patt1.test("The best things in life are free")); patt1.compile("d"); console.log(patt1.test("The best things in life are free")) // true // false
- test()
-
正则式的主要应用
- 表单验证
这个就是对表单元素的值进行匹配 - 字符串替换
- 表单验证
//实现replaceAll的效果
var str2 = "this is test str";
var str3 = str2.replace(/t/g,'xxx');
//xxxhis is xxxesxxx sxxxr
JavaScript RegExp 对象
RegExp 对象
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
直接量语法
/pattern/attributes
创建 RegExp 对象的语法:
new RegExp(pattern, attributes);
参数
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。
返回值
一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。
抛出
SyntaxError - 如果 pattern 不是合法的正则表达式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,抛出该异常。
TypeError - 如果 pattern 是 RegExp 对象,但没有省略 attributes 参数,抛出该异常。