正则表达式(RegExp)是Regular Expression缩写,是用于查找符合某些规则的字符串的工具。
正则表达式是一个描述字符模式的对象,当检索某个文本时,可以使用一种模式来描述要检索的内容,RegExp 就是这种模式。
简单的模式可以是一个单独的字符,复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。
可以规定字符串中的检索位置,以及要检索的字符类型等。
匹配模式pattern 一个用于指定匹配规则的字符串,由三部分组成: 元字符:具有特殊含义的字符 量词:指定字符出现的次数 特殊符号:具有特定含义的符号
匹配特征attribute 一个可选的字符串,包含属性 “g”、“i” 和 “m”,分别用于指定全局匹配、忽略大小写和多行匹配
var str="Hela24lo Wor7A.l8ad!"; // var str="AA"; //定义正则表达式对象 var reg=/a/ig; //判断是否包含字母a或A var reg2=new RegExp("a","i");属性和方法 属性用于表示匹配状态,方法用于匹配操作
定义正则表达式 使用字面量 var reg = /pattern/attribute
使用构造函数 var reg = new RegExp(pattern,attribute);
RegExp对象的属性和方法 属性:
var reg=/a/ig; //属性 console.log(reg.ignoreCase); console.log(reg.global); console.log(reg.multiline);方法:
<script> var str = "Hela24lo Wor7A.l8ad!"; var reg = /a/ig; //判断是否包含字母a或A //方法 console.log(reg.test(str)); //返回true或false console.log(reg.exec(str)); //返回找到的结果 console.log(reg.lastIndex); //下一次匹配的字符索引位置 console.log(reg.exec(str)); //g表示全局匹配,会查找匹配多个符合条件的结果 console.log(reg.lastIndex); console.log(reg.exec(str)); console.log(reg.lastIndex); while (true) { var result = reg.exec(str); if (result != null) { console.log(result); console.log(reg.lastIndex); } else { break; } } </script>正则表达式常用符号
正则表达式重复字符 正则表达式特殊符号 示例:
<script> var str = "Hela24lo Wor7A.l8ad!"; var reg = /\d/; //判断是否包含数字 var reg = /\d{2}/; //判断是否包含2个连续的数字 var reg = /^\d*$/; //判断是否全是数字 var reg = /[a-zA-Z]/; //判断是否包含字母 var reg = /^[\u4E00-\u9FA5]{2,3}$/; //判断是否全是中文,长度为[2,3] var reg = /^[A|B]?$/; var reg = /\./; //判断是否包含点号,由于.具有特殊含义,必须使用反斜杠对其进行转义 console.log(reg.test(str)); </script>