正则表达式

正则表达式

正则表达式(正则对象)

用来匹配一段字符串中的一些内容

使用场景

基本全部用于注册页面, 用户审核和约束用户输入的信息

创建和使用
  • 使用new 关键字来创建
	var reg = new RegExp(/表达式/);
  • 使用字面量的方式来创建
	var reg = /表达式/;
正则类别
  • 简单类
    var reg = /abc/;
    表示匹配的字符串中,需要含有abc字符
    常用检测方法 正则对象.test(需要审核的字符串);
    返回一个布尔类型的值
	console.log(reg.test("wsafdafb,mkmc"));

[ ] : 不带中括号表示一个整体,需要完全匹配
带上中括号表示任意一个匹配即可

	var reg = /[abc]/;
	console.log(reg.test("afkkbkkc"))
  • 反向类
    表示含有 除了abc以外的任意字符 即可
	var reg = /[^abcv]/;
	console.log(reg.test("abcccv"));
  • 范围类
    • 小写字符的范围
      var reg = /[a-z]/;
      表示 含有 a到z之间任意字符 即可
    • 大写字符的范围
      var reg2 = /[A-Z]/;
      表示含有 A到Z之间任意字符 即可
    • 数字的范围
      var reg3 = /[0-9]/;
      表示含有 0到9之间任意字符 即可
    • 混合范围
      var reg4 = /[a-zA-Z0-9]/;
      空格也算字符串,正常些即可不需要空格
  • 预定义类
    • . 匹配换行符以外的任意字符
    • \w 匹配单词字符(所有的数字字母下划线) [a-zA-Z0-9_]
    • \W 匹配非单词字符 [^a-zA-Z0-9_]
    • \d 匹配所有数字 [0-9]
    • \D 匹配所有非数字 [ ^0-9]
    • \s 匹配任意的空白字符
    • \S 匹配任意非空白字符
    • \b 匹配是否到了单词的边界 (开始或者结束)
    • \B 匹配是否没到单词的边界 (开始或者结束)
  • 字符转义
    将符号自带的其他含义去掉,只使用符号本身
    在符号前 加
    例如: \.
  • 或 |
    var reg2 = /a|b/; 等同于 [ab]
    var reg2 = /ab|bc/;
  • ^ 匹配字符串的开头
	var reg3 = /^abc/;
	console.log(reg3.test("abc"));
  • $ 写在正则最后面, 匹配字符串结尾
	var reg4 = /af$/;
	console.log(reg4.test("nihaodaf"));
  • ^ 和 $ 同时使用时, 表示严格模式。 只能有这些指定内容
	var reg5 = /^abc$/;
	console.log(reg5.test("abcc"));
  • 量词
    • 量词只有一个数字时, 表示 最少位数
	var reg6 = /\d{4}/;
  • 使用严格模式时,不再是最少位置,而是指定位数
	var reg6 = /^\d{4}$/;
  • 量词有两个数字时, 表示一个指定的范围
    注意: 需要使用严格模式, 否则是 包含指定范围的数字
	var reg6 = /\d{4,6}/;
正则常见的修饰符
  • + 匹配1个到多个
  • * 匹配0个到多个
  • ? 匹配0个或1个
replace(替换目标,新的内容)
	var s = "ding guang";
	console.log(s.replace(/d/,"D"));
匹配模式
  • g - global : 全局匹配
  	var reg7 = /a/g;
  • i - ignoreCase: 忽略大小写
 	var reg8 = /a/i;
  • m – : 多行识别匹配
  	var reg7 = /a/m;
match 提取符合正则的内容

stringObj.match(rgExp)
stringObj:必选项。对其进行查找的String对象或字符串文字。
RgExp:必选项。为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。

	console.log(s7.match(reg7));

如果match方法没有找到匹配,返回 null。 如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果。

过滤敏感词

函数用来接收敏感词
内部去操作敏感词

	var s8 = "那年她18岁,我也18岁。手牵着手,大喊道:生命太低贱";
	var reg8 = /生命|低贱/g;
	s8 = s8.replace(reg8,function(s){		
		var str2 = "";
		for(var i = 0; i < s.length; i++){
			str2 += "*";
		}
		return str2;
	});
	console.log(s8);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值