正则表达式

作者: 南山码农 | 来源:发表于2017-08-03 18:06 被阅读0次

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

    \d // [0-9] 表示数字0-9
    \w //[a-zA-Z0-9_]表示字母,数字或下划线
    \s //[\t\n\xOB\f\r]表示空白符
    [a-zA-Z0-9] //表示字母,数字,下划线
    \b //单词边界
    . //[^\r\n]表示除了回车和换行符之外所有字符
    * //表示前面内容出现任意次
    + //表示前面内容出现一次或多次
    x{3} //表示x重复3次
    ^ //表示以后面内容开头(在中括号里面表示取反)
    $ //表示以前面内容结尾

    题目2: 写一个函数trim(str),去除字符串两边的空白字符

    <script type="text/javascript">
        function trim(str){
            var reg = /^\s+|\s+$/g;
            return str.replace(reg,'');
        }
    
        var str=" hello  your pig "
        console.log(trim(str));   //hello  your pig
    

    题目3: 写一个函数isEmail(str),判断用户输入的是不是邮箱

        function isEmail(str){
            var reg = /^[a-zA-Z0-9_-]+@[a-zA-Z-]+(.[a-zA-Z0-9_-])+$/g
            if(!reg.test(str)){
                console.log("您输入的邮箱不正确!");
                return false;
            }else {
                return true;
            }
        }
    
        var str="86hs%^^dis-fhsdkgh@qq.com&&$^^"
        isEmail(str)    //"您输入的邮箱不正确!"false
    

    题目4: 写一个函数isPhoneNum(str),判断用户输入的是不是手机号

        function isPhonenumber(str){
            return /^1[3|4|5|8][0-9]\d{4,8}$/g.test(str)
        }
        var str = "12345678901";
        isPhonenumber(str);   //false
    

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

        function isValueUsername(str){
            return /\w{6,20}/g.test(str);
        }
        var str = "hello world";
        isValueUsername(str);//false
    

    题目6: 写一个函数isValidPassword(str), 判断用户输入的是不是合法密码(长度6-20个字符,只包括大写字母、小写字母、数字、下划线,且至少至少包括两种)

        function isValuePassword(str){
            var reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/g
            return reg.test(str);
        }
        var str = "888888888"
        isValuePassword(str);  //false
    
        function isValuePassword(str){
            if (!/^\w{6,20}$/.test(str)) {return false;}
            if (/^[A-Z]{6,20}$/.test(str)) {return false;}
            if (/^[a-z]{6,20}$/.test(str)) {return false;}
            if (/^[0-9]{6,20}$/.test(str)) {return false;}
            return true;
        }
        var str = "888888888"
        isValuePassword(str);  //false
    

    题目7: 写一个正则表达式,得到如下字符串里所有的颜色

    var reg = /#([0-9A-Fa-f]{6}|[0-9A-Fa-f]{3})/
    var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "
    console.log( subj.match(reg) )  // ['#121212', '#AA00ef']
    

    题目8: 下面代码输出什么? 为什么? 改写代码,让其输出[""hunger"", ""world""].

    var str = 'hello  "hunger" , hello "world"';
    var pat =  /"[a-z]*"/g;//\w
    str.match(pat);

    相关文章

      网友评论

        本文标题:正则表达式

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