JS正则

作者: 小7丁 | 来源:发表于2018-07-30 23:30 被阅读4次

    一、什么是贪婪模式和非贪婪模式?

    • 贪婪模式:就是量词在默认情况下尽可能的多匹配。例如:
    '123456789'.match(/\d{3,5}/g)//["12345", "6789"]
    
    • 非贪婪模式:就是尽可能少的匹配,一旦匹配成功就停止继续尝试。只需要在后面加个?
    '123456789'.match(/\d{3,5}?/g)//["123", "456", "789"]
    

    二、写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)。

    function isValidUsername(str){
    var reg = (/^\w{6,20}$/)
    return reg.test(str)
    }
    var str = 'sdADad'
    console.log(isValidUsername(str))
    

    三、写一个函数isPhoneNum(str),判断用户输入的是不是手机号。

    function isPhoneNum(str){
    var reg = (/^1[3578]\d{9}$/g)
    return reg.test(str)
    }
    
    var str = '13530136897'
    console.log(isPhoneNum(str))
    

    四、写一个函数isEmail(str),判断用户输入的是不是邮箱。

    function isEmail(str) {
    var reg = (/^\w+@\w+[.]\w+$/)
    return reg.test(str)
    }
    
    var str = '939160741@qq.'
    console.log(isEmail(str))
    

    五、写一个函数trim(str),去除字符串两边的空白字符。

    function trim(str) {
    return str.replace(/^\s+|\s+$/g,'')
    }
    var str = ' lasjfd slkdafj alsdkjf '
    console.log(trim(str))
    

    六、\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么?

    字符 等价类型 含义
    \d [0-9] 数字字符
    \w [a-zA-Z_0-9] 单词字符,字母、数字下划线
    \s [\t\n\x0B\f\r] 空白符
    [a-zA-Z0-9]] 大写字母、小写字母、数字中的任意一个
    \b 单词边界
    . [^\r\n] 除了回车符和换行符之外的所有字符
    * 出现0次或者多次
    + 出现至少一次
    出现最多一次
    x{3} x出现3次
    ^ 以xxx开头。另外在[]元字符内的^表示取反的意思
    $ 以xxx结尾

    相关文章

      网友评论

          本文标题:JS正则

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