day15 正则

补充:eval():字符串解析。

         把一段字符串解析成为浏览器可以识别的js代码。

缺点:危险性高

例子:eval(“var a=34”);alert(a);//34

          eval("function box(){alert(1)}");box()//1

一、内置对象之正则:RegExp()

       用于表单验证

表单验证:

<form id="form" action="http://www.baidu.com" method="post"></form>

    form.onsubmit = function(){

        if(true){

            //当正则通过时return true;

            return true;

        }else{

            //当正则不通过时return false;

            return false

        }

    }

 

注意:必须要严格模式,比如reg=/^表达式$/。

1.正则创建:

              1)两种方式:

                 字面量方式:

                     var reg = /正则表达式/;

                     var reg = /^wW$/;

              2)构造函数方式

                     var reg2=new RegExp("正则表达式");

                      var reg2=new RegExp("正则表达式","修饰符");

                       var reg2=new RegExp("^wW$","i");

reg.test(str);//检测一个字符串是否符合正则reg的要求。

2.正则的一些字符:

      1)单字符

                ^:表示规则的开始

                $:以某种规则结束

                +:匹配至少一个+前面的字符

                *:匹配至少0个*前面的字符

                ?:匹配?前面的字符0次或1次

                .:匹配任何一种字符,除\n以外

                \:把在正则中有特殊含义的字符转义成普通字符来使用。

     2)字符组合:

                \d:匹配0-9的数字。

                \D:匹配非数字。

                \w:匹配数字字母下划线

                \W:非匹配数字字母下划线(除了下划线以外的特殊字符)

                \s:匹配空格符

                \S:匹配非空格字符

                |:表示或

     3)括号:

                ():

                    这是优先级:

                    常与|使用

                {}:

                    当{m}只有一个值,代表匹配大括号前的字符m次

                    {m,n}代表匹配大括号前的字符最少m次,最多n次

                    {m,}代表匹配大括号前的字符最少m次,最多无数次

                []:代表某些字符的组合来匹配    

                    [^m]匹配非字符m的所有字符

                    [0-9]

                    [02-9]

                    [^(0-9a-zA-Z_)]:\W

[\u4e00-\u9fa5] 表示任意一个中文字符

修饰符:

        i:不区分大小写

        g:表示全局查找

3.正则方法的使用:

    1)test();

    2)reg.exec(str);返回匹配的字符,字符以数组的形式存在,只返回一个匹配的字符。

       例子:var reg = /wc/;

                  var str = "this erwc eris wcer";

                  alert(reg.exec(str));//wc

    3)str.search(reg);根据正则匹配查询,如果在字符里有匹配的字符,返回所在下标,如果没有,返回-1   例子:

         var reg = /wt/;

   var str = "this erwtc eris wter";

   alert(str.search(/wt/)); //7(只找到第一次出现的)

    4)str.match(reg);根据正则匹配查询,把正则所匹配的所有字符,以数组的形式返回,返回所有匹配的字符。

      var str = "this erwtc eris wter";

  console.log(str.match(/er/g));//["er", "er", "er"]

    5)str.replace(reg,"替换的内容");根据正则匹配,把    替换的内容 替换所有正则匹配的字符。

例子:var reg = /er/g;

     var str = "this erwtc eris wter";

     console.log(str.replace(/e/g,"*"));

//this *rwtc *ris wt*r

4.例子

1.邮箱的验证

var reg = /^[0-9a-zA-Z]{1,15}@[0-9a-zA-Z]{1,15}(\.[a-zA-Z]{2,4}){1,2}$/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值