js正则表达式的个人记录

1.什么是正则表达式?
    专业的解释是:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
    通俗的说法是:比如123456@qq.com,我们一看就是邮箱,那么我们是怎么判断的呢,把我们的判断方式用规定的方式写出来就是正在表达式了。
2.正则表达式的定义
    var reg = new RegExp('a');    // 通过RegExp对象,参数就是我们需要制定的规则
    var reg = /a/;    // 简写方式,效果一样,中间不能为空,不然就是注释了
3.正则表达式的字符
    匹配的项:
    \s: 空格
    \S: 非空格
    \d: 数字
    \D: 非数字
    \w: 字符(字母,数字,下划线_)
    \W: 非字符
    . : 除换行符 \n 之外的任何单字符
    \b: 单词边界部分(即开始结束与空格之间的部分)
    \B: 非单词边界部分
    匹配的量词:
    {n,m}: 至少出现n次,最多m次
    *: 任意次,相当于{0,}
    ?: 零次或一次
    +: 一次或任意次,相当于{1,}
    {n}: 正好n次
4.常用方法
    test() 
    用途:在字符串中查找符合正则的内容,若查找到返回true,反之返回false
    返回值:boolean
    search() 
    用途:在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置), 如果搜索失败就返回 -1
    返回值:number
    match() 
    用途:在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null
    返回值:string/null
    replace() 
    用途:查找符合正则的字符串,就替换成对应的字符串。返回替换后的内容。
    返回值:string
5.具体用例
    判断是否邮箱
    首先来确定邮箱的规则
    var reg = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
    我们来解读这个表达式的含义
        以 字母或者数字或者下划线或者任意单字符或者单杠开头,数量是一个或多个 开头
        之后跟着@符号
        之后跟着字母或者数字或者下划线或者任意单字符或者单杠开头,数量是一个或多个
        之后跟着出现任意次 字母或者数字或者下划线或者单杠为一个或多个的组合
        最后以出现2至6个次 字母或者数字或者下划线或者单杠的组合 结尾

    以上是有效邮箱的格式,通过将我们的判断方式转换成对应的正则表达方式,就可以让电脑来判断了。
    var str1 = '666@qq.com';
    var str2 = '666@qq..com';
    reg.test(str1);    // true
    reg.test(str2);    // false
至于其他方法,可以自行测试,就不一一举例了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值