饥人谷技术博客

正则表达式

2017-08-03  本文已影响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);
上一篇下一篇

猜你喜欢

热点阅读