正则表达式

正则表达式:

验证别的字符串是否符合规则

正则表达式对象有两种

1、使用构造函数的方式

var r=new RegExp("good","ig");

这个规则是

1)要求必须有good这个单词

2)i表示忽略大小写,g表示全局

2、直接量的方式

var r=/good/ig; 和var r=new RegExp("good","ig");方法相同

属性:

global:全局

ignoreCase:忽略大小写

source:正则表达式中的字符串

Multiline:RegExp 对象是否具有标志 m。 不只匹配一行。

方法:

exec(字符串):

test(字符串):返回值是boolean

使用RegExp对象的字符串函数

字符串中使用正则作为参数的几个函数:

1、match():获取匹配数组

2、search():查找匹配数据

3、replace():替换匹配到的数据(找到并替换)

4、split():拆分成字符串数组

正则表达式的特殊字符:

^:例如:var r=/^hello/;以h开头第二个是e,第三个是l,以此类推,即以hello开头

$:例如:var r=/hello$/;以hello结尾的

var r=/^hello$/;只能是hello

.:例如: var r=/^h...o$/;中间可以出现三个字符

*:例如:var r=/^h*o$/;中间可以出现多个相同的字符

+:可以有一个或多个字符

?: 匹配前面元字符0次或1次,/ba?/将匹配b,ba

x|y:例如: var r=/^he|bo$/:可以出现e或者b

[xyz]:匹配这个集合中的任意一个字符,例如:[a-z]表示在小写a到小写z之间

[^xyz]:不匹配这个集合中的任何一个字符,同样可以写范围

{n}:精确匹配n次

{n,}:匹配n次以上

{n,m}:匹配n到m之间(包含n、m)任意次数

\b:匹配一个单词的边界(单词是以空格分隔的) 例如:hello中的h和o

       var r=/\hb/:是否有某个单词是h开头的

       var r=/h\b/:是否有某个单词是h结尾的

\ddd:匹配以八进制数ddd规定的字符  例如:var reg=/\141/;  等价于 var reg=/a/;

\xdd:匹配以十六进制数dd规定的字符

\uxxxxx:匹配以十六进制数xxxx规定的Unicode字符

直接量字符(转义字符):

\/:一个/的直接量

常见正则:

检查邮政编码:例如:var reg=/^[1-9]\b{5}$/;  六位数字,不能以0开头

检查电子邮箱:例如:var reg=/^[a-zA-Z0-9]+@[a-zA-Z0-9]+(\.com|\.cn|\.net)$/;      以若干数字字母开头,紧接着是@,紧接着这是若干数字字母,紧接着是.com或.cn或.net

检查手机号码:例如:var reg=/^1[3-9]\d{9}$/;    以1开头,第二位不能为0、1、2,紧接着是9个数字

检查身份证号码: 例如:var reg=/^\d{17}[0-9X]$/;   前面是17位数字,最后一位是数字或者X

检查出生日期:例如:var reg=/^\d{4}[\-\.\/]\d{2}[\-\.\/]{2}$/;  仅供参考 以后以控件为主

检查用户名:例如:var reg=/^[a-zA-Z_]\w{5,14}$/;  只能使用数字字母下划线,且数字不能开头,长度在6-15之间

检查ip地址:例如:var reg= /^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$/ ;   由三个点分隔的四个数字,每个数字都是0-255

检查文件压缩包:例如:   var reg=/^\w+(zip|gz|rar)$/;

删除多余空格:例如:str.replace(/\s+/,");   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值