Javascript之正则的作用

正则的定义:就是一个规则,用来处理字符串的一条规则(正则就只能处理字符串)

//处理:

1)匹配:判断一个字符串是否符合我们制定的规则 -> test方法

var reg = /\d/  // 包含一个0~9之间的数字

console.log(reg.test('哈哈'))  // -> false

console.log(reg.test('11'))  // -> true

console.log(reg.test('哈哈1234'))  // -> true

 

//2)捕获:把字符串中符合我们正则规则的内容捕获到 -> exec方法

var reg = /\d/  // 包含一个0~9之间的数字

console.log(reg.exec('哈哈'))  // -> null

console.log(reg.exec('11'))  // -> ['1',index:0,input:'1']

//如何创建一个正则

//字面量方式:

var reg=/\d/;

//实例创建方式:

var reg=new RegExp('');

//正则的两种创建方式是有区别的:

//3、如何学习正则:

    //元字符:每一个正则表达式都是由元字符和修饰符组成的

    //[元字符] -> 在//之间具有意义的一些字符

    //1、具有特殊意义的元字符

   \:转义字符,转译后面字符所代表的含义

    ^:以某一个元字符开始

    $:以某一个元字符结束

    .:除了\n以外的任意字符

    var reg = /^0.2$/;->以0开头,以2结束,中间可以出了\n的任意字符

    x|y:x或者y中的一个

    [xyz]:x或者y或者z中的一个

    [^xyz]:除了xyx三个以外的任何一个字符

    [a-z]:a-z之间的任何一个字符

    [^a-z]:除了a-z之间的任何一个字符

    \d:一个0~9之间的数字   \D:除了0-9之间的数字以外的任何字符

    \b:匹配一个边界符 

    \w:数字、字符、下划线中的任意一个字符  =  [0-9a-z-A-Z_]

    \s:匹配一个空白字符 空格、一个制表符、换页符

 

    //2、代表出现次数的量词元字符

    *:出现零到多次

    +:出现一到多次

    ?:出现零次或者一次

    {n}:出现n次

    {n,}:出现n到多次

    {n,m}:出现n到m次

    var reg = /^\d+$/;

    console.log(reg.test('2015'))  //true

    //一个简单的验证手机号的正则:11位数字,第一位是1

      /^1\d{10}$/

    ():分组 ->把一个大正则本身划分成几个小的正则

    作用:

    1、改变x|y的默认的优先级

    var reg = /^(\d+)hello(\d+)$/;

 

//元字符应用

    //1、有效数字的正则:正数、负数、零、小数

    //1、在中括号中出现的所有的字符都是代表本身意思的字符(没有特殊含义的  )

    var reg = /^[+|-]?(\d|([1-9]\d+))(\.\d+)?$/

 

//4、正则创建方式的区别 -> 字面量方式和实例创建的方式

    1、在字面量方式中,我们//之间包起来的所有的内容都是元字符,所以不能进行变量值的拼接,而实例创建的方式是可以进行变量的拼接

    2、中括号中不识别两位数

    var reg = /^[12]$/;  //->1或者2中的一个 

    var reg=/^[12-68]$/;  //->1或者2-6中的一个或者 8 三个数中的一个 

    2、字面量方式中直接写\d就可以了,而在实例中需要把它转译 \\d

    eg:var name='zhufeng';

           var reg = new RegExp("^\\d" + name + "\\d+$", "g");

 

    

 

转载于:https://my.oschina.net/u/3419199/blog/1456847

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值