JavaScript 之 面向对象 [ 正则表达式 ]
正则表达式
描述
- 表示用于对一些特定的数据内容制定规则的表达式
创建正则表达式
- 字面量方式
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
相关推荐
jyj00 2020-07-19
wangzhaotongalex 2020-10-20
rechanel 2020-11-16
cshanzhizi 2020-10-16
luofuIT成长记录 2020-09-22
taomengxing 2020-09-07
MaggieRose 2020-08-19
jyj00 2020-08-15
MaggieRose 2020-07-04
modaiairen 2020-06-28
ziggurat 2020-06-28
JnX 2020-06-27
jyj00 2020-06-26
山水沐光 2020-06-25
shqhope 2020-06-23
eroshn 2020-06-21
码墨 2020-06-16