JavaScript中的正则表达式

一、正则表达式的创建

①:利用RegExp对象来创建 正则表达式

let regExp = new RegExp(/abc123!/)
console.log(regExp)

在这里插入图片描述
② :利用字面量 创建 正则表达式

 let reg = /aabbcc/

③: test 方法检测字符串是否符合 正则表达式 规则

let reg = /123/
console.log(reg.test(123))

二、边界符 ^ $

// 边界符 ^ $
let reg = /abc/ // /abc/表示字符串只要包含 abc 这个子字符串即可
console.log(reg.test('abcd')) // true
console.log(reg.test('fdsdfabc')) // true
console.log(reg.test('aadbc')) // false
console.log('-*******************************-')
let reg1 = /^abc/ // 该正则表达式 要求字符串必须以 abc开头
console.log(reg1.test('abc')) // true
console.log(reg1.test('abcdds')) // true
console.log(reg1.test('aabc')) // false
console.log('-*********************-')
let reg2 = /abc$/ // 该正则表达式 要求字符串必须以 abc结尾
console.log(reg2.test('aabc')) // true
console.log(reg2.test('aadf')) // false
console.log('***************************************')
let reg3 = /^abc$/ // 精确匹配 要求字符串就是 abc
console.log(reg3.test('abc')) // true
console.log(reg3.test('abcd')) // false
console.log(reg3.test('dabc')) // false

三、字符类 []

[]表示有一系列字符可供选择,只要匹配其中一个就可以了

 	let reg = /[abc]/ // 只要包含a或者b或者c其中一个就可以了
    console.log(reg.test('andy')) // true
    console.log(reg.test('ke')) // false
    console.log(reg.test('ok')) // false
    console.log(reg.test('color') // true
    
    let reg1 = /^[abc]$/  // a 或者 b 或者 c三者择其一
    console.log(reg1.test('a')) // true
    console.log(reg1.test('b')) // true
    console.log(reg1.test('c')) // true
    console.log(reg1.test('abc')) // false
    
    let reg2 = /^[a-z]$/  // -代表范围 a-z代表a...z这26个字母范围区间
    console.log(reg2.test('a')) // true
    console.log(reg2.test('c')) // true
    console.log(reg2.test('s')) // true
	console.log(reg2.test('A')) // false
	
	// 26个英文字母(大写、小写)十个阿拉伯数字_ 、- 其中的一个
	let reg3 = /^[a-zA-Z0-9_-]$/ 
	console.log(reg3.test('a'))
	console.log(reg3.test('A'))
	console.log(reg3.test('9'))
	console.log(reg3.test('_'))
	console.log(reg3.test('-'))
	console.log(reg3.test('!'))
	
	// [^] 里面的表示取反的意思 表示里面的全不符合条件
	let reg4 = /^[^a-zA-Z0-9-_]$/
    console.log(reg4.test('a')) // false
    console.log(reg4.test('B')) // false
    console.log(reg4.test('-')) // false
    console.log(reg4.test('_')) // false
    console.log(reg4.test('8')) // false
    console.log(reg4.test('`')) // true

四、量词符: 用来设定某个模式出现的次数

简单理解: 就是让字符重复出现多次

    // * 相当于 >= 0 可以出现0次或很多次 [0, ∞)
    let reg = /^a*$/
    console.log(reg.test('')) // true
    console.log(reg.test('a')) // true
    console.log(reg.test('aa')) // true
    console.log(reg.test('aaaa')) // true
    console.log(reg.test('baa')) // false
    
    // + 相当于 >= 1 可以出现 1次 或者 很多次
    let reg = /^a+$/
    console.log(reg.test(''))
    console.log(reg.test('a'))
    console.log(reg.test('aaaa'))
 	
 	// ? 出现的次数为 0 || 1
    let reg = /^a?$/
    console.log(reg.test('')) // true
    console.log(reg.test('a')) // true
    console.log(reg.test('aaaa')) // false
	
	//{3} 就是重复三次
	let reg = /^a{3}$/
	console.log(reg.test('')) // false
	console.log(reg.test('a')) // false
	console.log(reg.test('aaa')) // true
	console.log(reg.test('aaaa')) // false

    // {3,}大于等于3
    let reg = /^a{3,}$/
    console.log(reg.test('')); // false
    console.log(reg.test('aaa')) // true
    console.log(reg.test('aa')) // false
    console.log(reg.test('aaaaaa')) // true

	 // {3, 16} 大于等于3 并且小于等于 16 [3, 16] 区间
    let reg = /^a{3,6}$/
    console.log(reg.test('aaa')) // true
    console.log(reg.test('aaaaa')) // true
    console.log(reg.test('aaaaaaaa')) // false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值