正则表达式

创建和测试正则表达式

  // 第一种
  var reg = new RegExp(/123/); // 匹配包含123即可
  console.log(reg);

  // 第二种
  var reg = /abc/; // 匹配包含abc
  console.log(reg);

  // 测试正则表达式
  var reg = /abc/; // 匹配包含abc即可
  console.log(reg.test("ababd"));

符号用法说明

边界符

^ : 表示匹配行首的文本(以谁开始)

	// var reg = /^abc/;// 以abc为开头

$:表示匹配行尾的文本(以谁结束)

	// var reg = /abc$/;// 以abc为结尾

如果^和$同时使用的话,就变成精确匹配

	var reg = /^abc$/;// 精确匹配abc

字符类

[]中括号的意思是,一系列字符匹配其中之一即可

 var reg = /[abc]/;// 包含a或b或c

[]多选一,^$同时使用的话就是精确匹配

    var reg = /^[abc]$/;// 必须是a或b或c中的一个
	console.log(reg.test("a")); // true
    console.log(reg.test("ab")); // false
	
 // var reg = /^[a-zA-Z0-9_-]$/;// 字符组合
  // console.log( reg.test('a') );// true
  // console.log( reg.test('K') );// true
  // console.log( reg.test('6') );// true
  // console.log( reg.test('6a3') ); // false
  
//   var reg = /^[^a-zA-Z0-9_-]$/; // 取反
//   console.log(reg.test("a")); // false
//   console.log(reg.test("*")); // true

量词类

*:出现0次或者更多次

	// var reg = /^[a-z]*$/;

	// console.log( reg.test('') );// true
	// console.log( reg.test('a') );// true
	// console.log( reg.test('aa') );// true

+:出现1次或者更多出>=1

	// var reg = /^[a-z]+$/;

	// console.log( reg.test('') ); // false
	// console.log( reg.test('a') );// true

?:重复0次或1次

	// var reg = /^[a-z]?$/;
	// console.log( reg.test('') );// true
	// console.log( reg.test('a') );// true

{n}重复n次

	// var reg = /^[a-z]{3}$/;
	// console.log( reg.test('a') );  // false
	// console.log( reg.test('ab') ); // false
	// console.log( reg.test('abc') );// true

{n,} 重复n次或更多次

	// var reg = /^[a-z]{3,}$/;
	// console.log(reg.test('a'));  // false
	// console.log(reg.test('ab')); // false
	// console.log(reg.test('abc'));// true
	// console.log(reg.test('abcd'));// true

{n,m} 重复n到m次

  var reg = /^[a-z]{3,5}$/;
  console.log(reg.test("a")); // false
  console.log(reg.test("ab")); // false
  console.log(reg.test("abc")); // true
  console.log(reg.test("abcd")); // true
  console.log(reg.test("abcde")); // true
  console.log(reg.test("abcdef")); // false

小括号

	var reg = /^(哇哈哈|矿泉水|可乐)$/;

	console.log( reg.test('哇哈哈哈') );
	console.log( reg.test('哇哈哈') );
	console.log( reg.test('矿泉水') );

预定义类

\d:匹配0-9之间任意一个数字,相当于[0-9]
\D:匹配除0-9之外任意字符,相当于[^0-9]
\w:匹配任意字母,数字和下划线,相当于[A-Za-z0-9_]
\W:匹配任意除字母,数字和下划线之外任意字符,相当于[^A-Za-z0-9_]
\s:匹配空格(换行符,制表符,空格符等),相当于[\t\r\n\v\f]
\S:匹配除空格之外任意字符,相当于[^\t\r\n\v\f]

正则表达式中的替换

  • 修饰符:g全局,i大小写
  • 屏蔽敏感字
		// 字符串:replace
		var str = 'abcdefgCabcd';
		str = str.replace(/c/gi, '&&&&&&&&&&&&&');
		console.log( str );

几种常用的正则表达式:

/^1[3|4|5|7|8]\d{9}$ /; // 手机号码的正则表达式
/^ [1-9]\d{4,}$ /; // qq号的正则表达式
/^ [a-zA-Z0-9_-]{6,16}$ /;// 密码框的正则表达式
/^ [\u4e00-\u9fa5]{2,8}$ /;// 昵称的正则表达式
/^\d{6}$/;// 短信验证的正则表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值