RegExp 对象
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
创建 RegExp 对象的语法:
new RegExp(pattern, attributes);
参数
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。
返回值
一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回pattern,而不再创建一个新的 RegExp 对象。
正则表达式只能一位一位的判断。
例:
简单判断是否是身份证的正则表达式(18位数,最后一位可以是X):
<script> function func() { var ceshi=new RegExp(/^[0-9]{17}[0-9|X]$/);/*[]$中括号中的或者‘|’是进行单个字符匹配*/ var guo=document.getElementById("sfz").value; if(ceshi.test(guo)) { alert("正确"); } else { alert("错误"); } } </script> 请输入身份证号 <input id="sfz" type="text" /><input name="sa" type="submit" onclick="func()" value="提交"/>
判断邮箱是否正确
<script> function you() {/* ^[]以中括号内的字符开头 []$ 或()$ 以括号内的字符结尾[]是单个字符匹配,()是单词字符匹配*/ var youxiang=new RegExp(/^[d|w]{1,17}@{1}[d|e]{1,5}.(com|cn)$/);/*()$中括号中的或者‘|’是进行单词字符匹配*/ var guo=document.getElementById("you").value; if(youxiang.test(guo)) { alert("正确"); } else { alert("错误"); } } </script> 请输入邮箱 <input id="you" type="text" /><input name="sa" type="submit" onclick="you()" value="提交"/>