用户名 正则 一位数字\d===[0-9] 一位数字字母下划线\w==...">
美文网首页
正则和API

正则和API

作者: 是你的大颖儿 | 来源:发表于2018-05-20 20:43 被阅读0次

    <lable for="">用户名</lable>

    <input type="text" placeholder="请输入用户名">

    <span></span>

    <script>

    正则

    一位数字\d===[0-9]

    一位数字字母下划线\w===[0-9A-Za-z_]

    一位空格tab键  \s

    量词:规定出现的数量(次数)

    有明确数量限制

    用{m,n}表示最多出现m次,最少出现n次

    {m,}表示最小出现m次,最多不限

    {m}表示必须出现m次

    没有明确限制

    ?可有可无  最多一次

    *可有可无  多了不限

    +至少一次  最多一次

    分组或选择

    ()表示分组

    |表示或者

    var wrt=prompt('请输入...');

    //可以包含数字字母下划线  6-12位

                var reg=/^\w{6-12}$/;

                var result=reg.test(wrt);

                console.log(result);

    string中的正则API

    1.search(/正则/);查找一个关键字所在的位置

    找不到返回-1

    找到的是关键字的位置,找不到内容

                var str='you can you up';

                var reg=str.search(/you/);

                console.log(reg);

    2.match(/正则/);  获得所有和正则匹配的关键词 输出在数组

    g表示输出所有和正则匹配的关键词

    i表示忽略大小写

                var str='good gooD study,day day up';

                var num=str.match(/d/ig);

                console.log(num);

    3.replace(/正则/,'替换值');

                var str='no zuo No die';

                var num=str.replace(/no/ig,'**');

                console.log(num);

    4.split(/正则/); 切割  切割完变成数组

                var str='no,zuo,no,die';

                var num=str.split(/,/);

                console.log(num);

    练习

    获取输入框和span

            var input=document.querySelector('input');

            var span=document.querySelector('span');

            input.onblur=function(){

                var reg=/^[0-9A-Za-z_]{6,12}$/;

                var result=reg.test(input.value);

                if(result){

    span.innerHTML='用户名格式正确';

                }else{

    span.innerHTML='用户名格式错误,请重新输入';

                }

            }

    身份证号正则

    var wrt=prompt('请输入您的身份证号');

            var reg=/^\w{17}[0-9xX]$/;

            var result=reg.test(wrt);

            console.log(result);

    手机号码正则

    var wrt=prompt('请输入你的手机号');

            var reg=/^(0086|86)?\s*1[356789]\d{9}$/;

            var result=reg.test(wrt);

            console.log(result);

    </script>

    相关文章

      网友评论

          本文标题:正则和API

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