正则表达式(正则对象):用来匹配一段字符串的一些内容
通常在注册页面使用,用于审核和约束用户输入的信息
正则的创建:
- 使用new关键字创建
var reg = new RegExp( / 表达式 / );
- 使用字面量方式创建
var reg = / 表达式 /;
正则的使用:
1. 简单类:
var reg = / a b c /;
表示所匹配的字符中含有abc字符即可var reg = / [ a b c ] / ;
表示匹配的字符串中含有a,b,c三个中任意一个字符即可
不带括号标示整体需要完全匹配,戴上方括号标示匹配任意一个即可
检测的方法:正则对象名.test( 需要匹配的字符串)
2.反向类:
var reg = / [ ^ a b c ] / ;
表示匹配的字符串含有abc外任意字符即可
3.范围类:
- 小写字母范围:
var reg = / [ a - z ] / ;
表示所匹配的字符含有a-z之间任意字符即可 - 大写字母范围:
var reg = / A - Z ] / ;
表示所匹配的字符含A-Z之间的任意字符即可 - 数字范围:
var reg = / [ 0 - 9 ] / ;
- 混合范围:
var reg = / [ a - z A - Z 0 - 9 ] /;
4.预定义类:
- · 匹配换行符外所有的字符
- \w 匹配单词字符(包括数字字母下划线,等同于[a-zA-Z0-9])
- \W 匹配非单词字符(等同于[ ^ a-zA-Z0-9])
- \d 匹配所有数字字符(等同于[0-9])
- \D 匹配所有非数字字符
- \s 匹配任意空白字符
- \S 匹配任意非空白字符
- \b 匹配是否到了单词边界(开始或结束位置)
- \B 匹配是否没到单词边界
5.字符转义
将字符所带的其他含义去掉,仅使用该字符本身
转义方法:在字符面前加上" \ "符号即可
如:\d
6.或
var reg = / a | b /;
匹配字符包含a或b,等同于var reg = / [ a b ] /
7.匹配字符串开头 ( " ^ " )
var reg = / ^ a /;
匹配字符串以a开头
8.匹配字符串结尾 ( " $ " )
var reg = / d $ /;
匹配字符串以d结尾
9.严格模式 ( "^“与”$"同时使用,表示只能有指定内容)
var reg = / ^ abc $ /;
10.量词 ( " { } ")
var reg = / \d { 4 } /;
量词仅使用一个数字时表示最小位数var reg = / ^ \d { 4 } $ /;
配合严格模式使用时表示指定的位数var reg = / ^ \d { 4 , 6 } $ / ;
量词有两个数字时表示指定位数范围(需要配合严格模式,否则表示包含指定范围数字即可)
11.正常的修饰符
+
匹配一个到多个*
匹配0个到多个?
匹配0个到一个
例:var reg = / \d + /;
12.替换 replace
将目标与指定内容替换
目标.replace(替换目标,替换内容)
var m = "friend";
m.replace(/ d / , "py" );
13.匹配模式
- test 正常匹配
str.test(reg);
- g 全局匹配(global)
var reg = / g /g;
- i 忽略大小写(ignoreCase)
var reg = / g /i;
- match 提取符合正则内容的部分
console.log(str.match(reg));
本文均属个人理解