js中正则表达式用法和常用的几个API

Javascript正则表达式

正则表达式在很多地方都常见,Java、python、C#等等,但是正则表达式不受语言的影响,遵守自身语法。

何为正则表达式?

  • 正则表达式是构成搜索模式(search pattern)的字符序列。
  • .当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容。
  • 正则表达式可以是单字符,或者更复杂的模式。

特点:

  • 灵活性、逻辑性和功能性非常强;
  • 可以迅速地用极简单的方式达到字符串的复杂控制。
  • 对于刚接触的人来说,比较晦涩难懂。

修饰符

修饰符

使用字符

在这里插入图片描述

常与正则连用的API

search()的使用

var str = "aaaaBbbbcc";
var n =  str.search(/b/i);
//n的值会是4,而不会是5,
//它返回的的是这个字母在字符串中的下标,i会让这个字母不区分大小写。

replace()的使用

var str = "aaaaabbccccccc";
var res = str.replace(/BB/i, "hao"); 
//res的值会是aaaaahaoccccccc,他会找到字符串中的bb,不会区分大小写
//把他替换成hao

使用 test()
test() 方法是一个正则表达式方法
test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

var patt = /e/;
patt.test("Are you pig");
//因为Are中含有e,所以会返回true,我们常用的表达的验证就是用的test().

常用的正则表达式

  • Email地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$
  • 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?
  • InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$
  • 手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
  • 国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
  • 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):1[a-zA-Z0-9_]{4,15}$
  • 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):2\w{5,17}$
  • 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10
    之间):^(?=.\d)(?=.[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
  • 强密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间):^(?=.\d)(?=.[a-z])(?=.*[A-Z]).{8,10}$
  • 日期格式:^\d{4}-\d{1,2}-\d{1,2}
  • 腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)
  • 中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值