正则表达式
描述
- 表示用于对一些特定的数据内容制定规则的表达式
创建正则表达式
- 字面量方式
var 表达式名 = / 参数 / 参数
- 第一个参数 - 表示定义正则表达式的内容
- 第二个参数 - 表示定义正则表达式的行为
/* 字面量方式 */
var reg1 = /12345/i;
- 构造函数方式
var 表达式名 = new RegExp( 参数,[参数] )
- 第一个参数 - 表示定义正则表达式的内容
- 第二个参数 - 表示定义正则表达式的行为
/* 构造函数方式 */
var reg2 = new RegExp( '12345', 'i' );
正则表达式的运行
- 先定义正则表达式的内容 - 判断条件
- 在定义需要判断的数据内容
- 最后利用正则表达式来判断指定的内容是否符合要求
-
test()方法 - 用于正则表达式进行判断
- 参数 - 当前需要判断验证的数据内容
-
返回值 - 表示验证后的结果(布尔值)
- true - 表示符合要求
- false - 表示不符合要求
- 判断需要在最后进行,之前的定义可以随意顺序
/* 定义需要判断的数据 */
var num = 12345;
/* 定义正则表达式 */
var reg = /12345/;
/* 对指定数据进行判断 */
var s = reg.test( num );
console.log( s );// 显示 true
字符类
- 将判断条件放进一个中括号里([])组成字符类
-
字符类允许 需要验证的内容匹配任意条件
- 只满足一个条件也可以
/* 定义一个字符串 */
var str = '12345';
/* 定义正则表达式 */
var reg = /12345/;
/* 定义字符类 */
var reg = /[12345]/;
/* 字符类的另一种写法 */
var reg = /[0-9]/;
/* 正则表达式的转义字符 */
var reg = /\d/;
/* 显示判断结果 */
var s = reg.test( str );
console.log( s );// 显示 true
重复
- 表示在表达式中字符出现的次数
-
{ n, m }
- n - 表示最少出现的次数(包含本身)
- m - 表示最多出现的次数(包含本身)
- 注意 - 字符出现的次数必须是连续的
/* 定义一个字符串 */
var str = '12345';
/* 定义正则表达式 */
var reg = /[0-9]{2,4}/;
/* 显示判断后的结果 */
var s = reg.test( str );
console.log( s );// 显示 true
匹配指定位置
- 表示设置匹配数据的位置
- 上尖角号(^) - 表示以什么开始的
- 美元符($) - 表示以什么结束的
- 当同时设置开始和结束时 - 表示所匹配内容的长度只能为至少n次,至多m次,而且内容必须与字符类匹配
-
匹配结果为布尔值
- true - 表示匹配
- false - 表示不匹配
/* 定义一个字符串 */
var str1 = '12345';
/* 设置判断条件 */
var reg1 = /^[0-9]{2,4}/;
/* 显示判断结果 */
var s1 = reg1.test( str1 );
console.log( s1 );// 显示 true
/* 定义一个字符串 */
var str2 = '12345';
/* 设置判断条件 */
var reg2 = /[0-9]{2,4}$/;
/* 显示判断结果 */
var s2 = reg2.test( str2 );
console.log( s2 );// 显示 true
/* 定义一个字符串 */
var str3 = '1234';
/* 设置判断条件 */
var reg3 = /^[0-9]{2,4}$/;
/* 显示判断结果 */
var s3 = reg3.test( str3 );
console.log( s3 );// 显示 true
修饰符
- 表示正则表达式的行为,用于进一步对指定数据的搜索
- i - 表示不区分大小写搜索
- g - 表示全局搜索
- m - 表示多行搜索
/* 定义一个字符串 */
var str = 'sanbubaitou';
/* 进行条件判断 */
var reg = /^[A-Z]{3,13}$/i;
/* 显示判断结果 */
var s = reg.test( str );
console.log( s );// 显示 true
exec()方法
- 通过指定数据内容的位置来获取目标的数据内容
-
该方法具有返回值 - 一个数组
- 第一个元素 - 表示与指定位置匹配的内容
- 第二个元素 - 表示匹配内容的对应位置(索引值)
- 第三个元素 - 表示完整的内容(字符串的全部内容)
- 如果指定的位置没有相匹配内容,返回的结果为 null
/* 定义一个字符串 */
var str = 'sanbubaitou';
/* 进行条件判断 */
var reg = /s{1}/;
var s = reg.exec( str );
console.log( s );// 显示 [ 's', index: 0, input: 'sanbubaitou' ]
var reg = /w{1}/;
console.log( reg.exec( str ) );// 显示 null
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。