正则
正则表达式(正则对象): 用来匹配一段字符串中的一些指定内容。
使用场景: 基本全部用于注册页面, 用户审核和约束用户输入的信息。
创建
1.使用new 关键字来创建
var reg = new RegExp(/表达式/);
2.使用字面量的方式来创建
var reg = /表达式/;
使用
1. 简单类**
表示匹配的字符串中,需要含有abc字符,常用检测方法 正则对象.test(需要审核的字符串);返回一个布尔类型的值。
var reg = /abc/;
console.log(reg.test(“wsafdafb,mkmc”));
[] : 不带中括号表示一个整体,需要完全匹配,带上中括号表示任意一个匹配即可
var reg = /[abc]/;
console.log(reg.test(“afkkbkkc”))
2. 反向类** : 表示含有 除了abc以外的任意字符 即可
var reg = /[^abcv]/;
console.log(reg.test(“abcccv”));
3. 范围类**
小写字符的范围
var reg = /[a-z]/; //表示 含有 a到z之间任意字符 即可
大写字符的范围
var reg2 = /[A-Z]/; //表示含有 A到Z之间任意字符 即可
console.log(reg2.test(“12L31k4”));
数字的范围
var reg3 = /[0-9]/; console.log(reg3.test(“123”));
混合范围
var reg4 = /[a-zA-Z0-9]/; console.log(reg4.test(“kjIUJIA392”));
4.预定义类**
. 匹配换行符以外的任意字符
\w 匹配单词字符(所有的数字字母下划线) [a-zA-Z0-9_]
\W 匹配非单词字符 [^a-zA-Z0-9_]
\d 匹配所有数字 [0-9]
\D 匹配所有非数字 [^0-9]
\s 匹配任意的空白字符
\S 匹配任意非空白字符
\b 匹配是否到了单词的边界 (开始或者结束)
\B 匹配是否没到单词的边界 (开始或者结束)
var reg = /\d/; // \d 代表数字 0-9
console.log(reg.test(“dal1fk”));
var str = “This is good”; var reg = /is\b/; console.log(str.replace(reg,“IS”))
5. 字符转义**
将符号自带的其他含义去掉,只使用符号本身
在符号前 加 \
例如: \ .
6. 或 |**
var reg2 = /a|b/; //等同于 [ab]
var reg2 = /ab|bc/;
console.log(reg2.test(“acdbf”));
7. ^ 匹配字符串的开头**
var reg3 = /^abc/;
console.log(reg3.test(“abc”));
8 $ 写在正则最后面, 匹配字符串结尾**
var reg4 = /af$/;
console.log(reg4.test(“nihaodaf”));
9 ^ 和 $ 同时使用时, 表示严格模式。 只能有这些指定内容**
var reg5 = /^abc$/;
console.log(reg5.test(“abcc”));
10 量词**
量词只有一个数字时, 表示 最少位数
var reg6 = /\d{4}/;
使用严格模式时,不再是最少位置,而是指定位数
var reg6 = /^\d{4}$/;
console.log(reg6.test(“123”));
11. 正则常见的修饰符
"+ " 匹配1个到多个
var reg6 = /\d+/;
console.log(reg6.test(“6abc”));
" * "匹配0个到多个
" ? " 匹配0个或1个
12. replace(替换目标,新的内容) : 字符串方法
var s = “ding guang”;
console.log(s.replace(/d/,“D”));
13. 匹配模式
g - global : 全局匹配
i - ignoreCase: 忽略大小写
var s7 = “a ba daAdaAdA”;
var reg7 = /a/g;
var reg8 = /a/i;
match : 提取符合正则的内容
console.log(s7.match(reg7));
console.log(s7.match(reg8));