美文网首页
正则中的API

正则中的API

作者: 纪美 | 来源:发表于2018-05-20 20:06 被阅读0次

    一、String中的正则API

    1.search();判断是否包含符合规定的关键词   

    //如果找到返回关键词的位置,如果找不到返回-1

       var str='you can you up';

       //var strs=str.search(/you/);//返回关键词的位置

    var strs=str.search(/uoy/);//找不到返回-1

            console.log(strs);

    缺点:

    1.search只能找第一个关键词出现的位置

      2.search只能获得位置,不能获得内容

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

    返回一个包含关键词的数组

    如果没有找到返回null

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

             var strs=str.match(/d/g);

            console.log(strs);

    注:所有正则表达式默认只匹配一个关键词,若要匹配所有要在第二个/后面加g,若要忽略大小写要在第二个/后面加i

    缺点:

    无法获取每个关键词的位置

    g:表示查找全部,不写仅查找一个

    i:表示忽略大小写。不写,区分大小写

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

                       var str='no zuo no die';

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

                  console.log(strs);

    5.split(/正则/);切割  //切割完返回一个数组

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

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

                       console.log(strs);

    正则

    一位数字\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);

    相关文章

      网友评论

          本文标题:正则中的API

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