正则

1.利用RegExp对象创建正则表达式

var regexp = new RegExp(/123/);
//利用字面量创建正则表达式
//正则表达式不需要加引号
var rg = /123/;

2.测试正则表达式 test

console.log(rg.test(1233));

3.正则表达式的特殊字符

  1. 边界符 ^表示以什么开头 $表示以什么结尾
rg = /^123/;
console.log(rg.test(123));  //true

rg = /^123$/;
console.log(rg.test(123));  //true
  1. 字符类 [] 表示有一系列的字符可供选择,只要匹配其中的一个就可以
rg = /[abc]/
console.log(rg.test('a'));

// [-] 中括号里面的 - 表示连接符
reg = /[^a-zA-Z0-9]$/          

// [^] 中括号里面的 ^ 表示取反
reg = /[^a-zA-Z0-9]$/    //不能包含a-z A-Z 0-9

4.量词符

  1. *号 相当于 >=0 ,表示出现0次或者多次
reg = /^a*$/
console.log(reg.test('')); //true
console.log(reg.test('a'));  //true
  1. +号 相当于 >=1 ,表示出现1次或者多次
reg = /^a*$/
console.log(reg.test('')); //false
console.log(reg.test('a'));  //true
  1. ?号 相当于 1||0 ,表示出现1次或者0次
reg = /^a?$/
console.log(reg.test('')); //true
console.log(reg.test('a'));  //true
console.log(reg.test('aaa'));  //false
  1. {3} 表示a出现3次
reg = /^a{3}$/
console.log(reg.test('aaa'));  //true

  1. {3,} 表示a出现>=3次
reg = /^a{3,}$/
console.log(reg.test('aaaaa'));  //true
  1. {3,6} 表示a出现>=3次 <=6
reg = /^a{3,6}$/
console.log(reg.test('aaaaaa'));  //true

5.预定义类

  1. \d 表示匹配0-9之间的任意数字,相当于[0-9]
  2. \D 表示匹配除了0-9之间的所有数字,相当于[^0-9]
  3. \w 表示匹配任意字母、数字和下划线,相当于 [0-9a-zA-Z_]
  4. \W 表示除了字母、数字和下划线的字符 ,相当于 [^0-9a-zA-Z]
  5. \s 表示匹配空格
  6. \S 表示匹配非空格

6. 正则的替换 replace i表示忽略大小写 g表示全局匹配

reg.replace(/abc/ig,'aaa')

7.常见的正则

var tel = /^1[3|4|5|6|7|8|9]\d{9}$/    //手机号

  //由数字字母下划线组成位数为6~18之间的密码
var pass = /^[a-z0-9_-]{6,18}$/     

//密码由数字和字母组成(必须包含数字和字母),且不少于8位  
var pass = /^(?=.*?[0-9])(?=.*?[a-zA-Z])[0-9a-zA-Z]{8,}$/       

var qq = /^[1-9]\d{4,}$/              //qq号        

var email = /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/     //邮箱

var https = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/   //url地址

var ip = /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/   //ip地址

var html = /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/    //html标签

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值