正则表达式

一、概念

正则表达式:Regular Expression 。也叫作规则表达式,是按照一定的规则组成的一个表达式,这个表达式的作用是匹配字符串的。是由元字符或者是限定符组成的一个式子。

二、元字符

  • .(点)表示的是:除了\n以为的任意的一个字符;
  • []表示的是范围。
    • [0-9]表示的是0-9之间的任意的数字。
    • [1-7]表示的是1-7之间的任意数字。
    • [1][0-9][0-9] 表示的是100-200之间的任何数字。
  • | 表示或者
  • () 表示分组,(((())))是四组,从最左边的括号开始算起,几个括号就有几组。([0-9])([a-z])(A-Z) 三组
  • *表示前面的表达式出现了0次到多次。[0-9][a]+表示+前面的a可以一次都没出现,也可以出现了多次。
  • +表示前面的表达式出现了1次到多次。[0-9][a]+表示+前面的a至少出现了1次,也可以出现了多次。
  • ? 表示前面的表达式出现了0次到1次。最少0次,最多1次。(另一个含义是贪婪模式)

三、限定符

限定符:限定前面的表达式出现的次数,{}更加明确的限定了前面表达式出现的次数。

  • {0,} 表示前面的表达式出现了0次到多次。和元字符* 一样;
  • {1,} 表示前面的表达式出现了1次到多次。和元字符+ 一样
  • {0,1} 表示前面的表达式出现了0次到1次。和元字符? 一样
  • {5,10} 表示前面的表达式出现了5-10次;
  • {3} 表示前面的表达式出现了3次,确定数字,一次都不能缺少或增加、

四、特殊符号

  • ^ 表示的是以什么开始,或者取非
    • 1 表示以小写字母开头
    • [^a-z] 表示不是小写字母
    • [^0-9a-zA-Z_] 表示特殊符号
  • $ 表示以什么结束
    • [0-9][a-z]$ 表示以小写字母结束
  • ^$ 必须以什么开始,以什么结束
    • 2[a-z]$ 表示以数字开头,以小写字母结束
  • \d 数字中的任意一个
  • \D 非数字中的任意一个
  • \s 空白符中的任意一个
  • \S 非空白符
  • \w 非特殊符号:等价于 [0-9a-zA-Z_]
  • \W 特殊符号:等价于[0-9a-zA-Z_]
  • \b 单词的边界

正则表达式

五、正则表达式的小练习

5.1 邮箱的正则表达式
wenjing_pure@qq.com
[0-9a-zA-Z_.-]+[@][0-9a-zA-Z]+([.][a-zA-Z]+){1,2}
5.2 验证密码的强弱
document.getElementById("pwd").onkeyup=function(){
    //每次抬起键盘的时候都要获取文本框的内容,根据内容判断密码的等级,从而显示其颜色。
    
}
//给我文本框的内容,判断密码的等级
function getVal(pwd){
    var lvl=0;
    if(/[0-9]+/.test(pwd)){
        lvl++;
    }
    if(/[a-zA-Z]+/.test(pwd)){
        lvl++;
    }
    //判断密码中有没有特殊符号
    if(/[^0-9a-zA-Z_]+/.test(pwd)){
        lvl++;
    }
    return lvl;
} 

  1. a-z ↩︎

  2. 0-9 ↩︎

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值