美文网首页
六、JavaScript--3、正则表达式

六、JavaScript--3、正则表达式

作者: cybeyond | 来源:发表于2018-05-30 16:43 被阅读0次

    1、如何定义正则表达式

    • 第一种定义方法
      var reName=new RegExp("nowamagic");
      var reName=new RegExp("nowamagic","i"); //i表示忽略大小写ignoreCase

    • 第二种定义方法
      javascript中正则表达式的第二种定义方法(perl风格)
      var reName= /nowamagic/;
      var reName=/nowamagic/i;

    2、正则表达式方法

    • test--RegExp的test方法用来测试字符串是否匹配给出的匹配模式,返回布尔值
    • exec--RegExp的exec方法返回包含第一个匹配的数组或null
    • match--String的match方法返回包含所有匹配子字符串的数组
    • replace--与String的indexof方法类似,不同的是search支持正则表达式,而不仅仅是字符串
    • split--按照一定规则拆分字符串并将子字符串存储到数组中的String方法

    3、正则表达式需要转义的字符

    . \ / * ? + [ ( ) ] { } ^ $

    4、正则表达式分组

    var reNum=/[0-9]/;
    var reLetter=/[a-zA-z]/;

    5、特殊字符

    \d 任何一个数字字符,等价于[0-9]
    \D 任何一个非数字字符,等价于[^0-9]
    \w 任何一个字母数字或下划线字符,等价于[a-zA-Z]
    \W 任何一个非字母数字和下划线字符,等价于[^a-zA-Z]
    \s 任何一个空白字符,包括换页符、换行符、回车符、制表符和垂直制表符[\f\n\r\t\v]
    \S 任何一个非空白字符,等价于[^\f\n\r\t\v]
    . 换行和回车以外的任何单个字符,等价于[^\n\r]

    6、量词

    + 表示字符出现一次或多次,至少出现一次
    ? 出现两次或一次,最多一次
    * 出现任意次(零次、一次、多次)
    {n} 能且只能出现n次
    {n,m} 至少出现n次,最多出现m次

    示例:

        //var str=/^[\u4e00-\u9fa5]+$/;//u代码unicode编码,[]内的出现一次或多次
        str=new RegExp("^[\u4e00-\u9fa5]+$");//两种方法
        if(!str.test(document.forms[0].xm.value))
        {
            alert('姓名必须是中文');
            return;
        }
    
    执行结果

    下面判断年龄,一直调试没有成功,找了半天,没有看出有什么问题。。。

    //判断年龄
        var str=/^[1-9][0-9]?$/;
        if(!str.test(document.forms[0].nl.value))
        {
            alert('年龄输入错误!');
            return;
        }
    

    相关文章

      网友评论

          本文标题:六、JavaScript--3、正则表达式

          本文链接:https://www.haomeiwen.com/subject/oxwtsftx.html