js正则表达式

.1、使用构造函数创建正则表达式

RegExp("正则表达式","匹配模式")

var reg = RegExp("a","i");

i忽略大小写,g全局配置

2、使用字面量创建正则表达式

语法 var 变量=/正则表达式/匹配模式

var reg = /a/i

3、或关系 使用 ‘|’ 或 ‘[]’

检查字符串中是否有a或b

var reg = /a|b/var reg = /[ab]/ 

检查字符串中是否有字母

var reg = /[A-z]/    [A-Z]检查是否有大写字母  [0-9] 任意数字

检查字符串中除规定字母以外是否还有其他字母 [^]除了

var reg = /[^ab]

4、正则表达式与String方法的使用
(1)、split拆分字符串
split(“拆分规则”)可以传如正则表达式进行拆分

var str="1a2b3c"
str.spilt(/[a-z]/) 根据字母拆分

在这里插入图片描述
str.spilt(/[0-9]/)根据数字拆分
在这里插入图片描述
(2)search搜索字符串中是否有指定内容
search(“搜索的内容”) 或传入一个正则表达式,返回第一次出现的索引值
搜索字符串中是否有abc 或 aec 或 adc

var str = "hello abc hello aec adc"
var result = str.search(/a[bed]c/)

在这里插入图片描述
(3)、match 提取字符串中符合正则表达式要求的值,并返回一个数组

提取所有符合要求的,需要将匹配模式设为g,并且可以设置多个匹配模式,顺序无所谓

/*
* 提取字符串中所有的字母
*/
var str = "1a2f3r45t5hy6jh";
var result = str.match(/[a-z]/ig)

在这里插入图片描述
(4)、replace替换字符串中的值

replace('被替换的值','要替换的值')

将字符串中所有的字母替换成空值,获得所有数字

var str = "1a2f3r45t5hy6jh";
var result = str.replace(/[a-z]/g,"")

在这里插入图片描述
4、量词{}

(1)通过两次设定一个内容出现的次数 /ab{2}/ b出现两次
(2)量词只对前一个内容起作用 /(ab){2}/ ab出现两次
(3){n} 正好出现n次
(4){m,n}出现m到n次
(5){n,}出现n次及以上
(6)n+至少出现一次 ={1,}
(7)n*出现0次或多次={0,}
(8)n?出现0次或1次={0,1}
5、^$
(1)/[^a]/匹配除了a的内容
(2)/^a/匹配以a开头的内容
(3)/$a/匹配以a结尾的内容,a后面不能再有值
(4)/^a$/ 匹配的内容必须以a开头并且a后面没有内容

var reg = /^a$/
var test = "aaaa" // "a" true
console.log(reg.test(test))

输出false,因为a结尾后还有内容aaa
(5)/^a&a$/ 以a开头并且以a结尾

var reg = /^a/&&/a$/
var test = "aaaa"

5、手机号正则表达式
1 3 151218012
规则:
第一位以1开头
第二位为3-9之间的数
三位及以后为[0-9]的数出现9次之后不能再有数字 总共11位

/^1[3-9][0-9]{9}$/

var reg = /^1[3-9][0-9]{9}$/

6、检查字符串中是否包含.时需要加上转义字符""。“.“表示任意字符
7、

\w 任意字母、数字、_ 等价于 [A-z0-9_]
\W 除了字母,数字、_ [^A-z0-9_]
\d 任意数字
\D 除了数字
\s 空格
\S 除了空格
\b 单次边界
\B 除了单次边界

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值