正则介绍

正则表达式(也叫规则表达式)

  • 用来匹配字符串内容的
  • 应用:C#,JAVA,Javascript;其他的编程语言:ios,php
  • 是一个表达式,然后这个表达式是用来匹配字符串内容的

基本元字符

  • . 除了\n以外的任意的一个单个的字符
  • [] 表示的是范围;可以把关键性的元字符的本意去掉
    • [0-9] 表示的是一个范围, 0到9所有的数字(包括0包括9)中的一个
    • [3-7] 包括3,也包括7,之间所有的数字中的一个
    • [a-z] 所有的小写字母
    • [A-Z] 所有的大写字母
    • [a-h] a到h之间所有的小写字母,包括a,也包括h中的一个
  • () 提升优先级别;提取分组:一对括号就是一组
  • | 或者的意思,优先级别最低
  • [.] 就是一个.
  • [-] 就是一个-

限定符

  • * 表示的是前面的这个表达式出现了0次到多次
  • + 表示的是前面的这个表达式出现了 1次到多次
  • ? 表示的是前面的这个表达式出现了 0次到1次
  • 举例
    • {0,} 表示的是前面的表达式出现了 多少次到多少次
    • {0,} 表示的是前面的这个表达式出现了0次到多次 *
    • {0,1} 表示的是前面的这个表达式出现了0次到 1次 ?
    • {1,} 表示的是前面的这个表达式出现了1次到多次
    • {3,9} 表示的是前面的这个表达式出现了3次到9次
    • {,4} 这种写法是错误的

特殊

  • \d 表示的是任意的一个数字
  • \D 表示的是非数字中的一个
  • \s 表示的是空白符号
  • \S 非空白符号
  • \w 非特殊符号
  • \W 特殊符号
  • ^ 以什么开始;取反
  • $ 以什么结束
  • \b 单词的边界
  • 举例
    • [^0-9] 取反了 (非数字)
    • ^[0-9] 以数字开头
    • ^[0-9]$ 严格匹配一个数字

正则表达式的声明和使用

  • 在js中的正则的写法: /正则表达式/

  • 正则表达式的对象的创建和声明

    • 第一种写法: 通过构造函数的方式来创建正则表达式对象
    • var reg= new RegExp();
    • var reg=new RegExp(/正则表达式/);
    • 第二种写法: 以字面量的方式来创建正则
    • var reg= /正则表达式/;
  • /正则表达式/g,其中g是全局的意思

    	- 把所有空格去掉:str.replace(/\s+/g,'')
    	- 去掉左右两边的空格:str.replace(/^\s+|\s+$/g,'')
    
  • /正则表达式/i,其中i忽略大小写

  • reg.test(测试的字符串)

  • 验证密码的弱中强

//获取文本框  注册键盘抬起的事件
document.getElementById("pwd").onkeyup=function () {
    if(this.value.length>=6) {
        //定义变量存储级别
        var lvl = 0;
        //正则判断密码中是否有数字
        if (/[0-9]/.test(this.value)) {
            lvl++;
        }
        //判断密码中是否有字母
        if (/[a-zA-Z]/.test(this.value)) {
            lvl++;
        }
        //判断密码中是否有特殊符号
        if (/[^0-9a-zA-Z]/.test(this.value)) {
            lvl++;
        }
    }
    document.getElementById("strengthLevel").className = "strengthLv" + lvl;
};

试一试

  • 匹配身份证号
  • 匹配座机号
  • 匹配邮箱
  • 验证文本框输入的是不是英文名字

正则测试网站:正则测试 可以去测试下

转载于:https://my.oschina.net/yxmBetter/blog/829816

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值