JS正则表达式

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="提交"/>
复制代码

image

判断邮箱是否正确

复制代码
<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="提交"/>
复制代码

image

posted @ 2015-05-15 09:02  Yusarin  阅读(212)  评论(0编辑  收藏  举报