二,正则表达式
1,什么是正则表达式
是一种规范,对字符串格式进行验证的规范
不用自己写,常用的正则表达式,网上都有,只要会使用就可以
2,定义方法
字面量 var reg = /正则表达式/ 常用方法
构造函数 var reg = new RegExp('正则表达式')
3,正则方法
正则表达式.test(字符串) 验证字符串是否符合规范
4,基本语法
元字符: 小写的表示 只要有其中一个出现就可,大写表只要出现它没有的即只要取非就可
\d 数字
\D 非数字
\w 数字,字母,下划线
\W 非 数字,字母,下划线
\s 空格
\S 非空格
. 非换行
边界符
^ 开始
$ 结束
限定符
* 0 --- 正无穷
+ 1 --- 正无穷
? 0 --- 1
{n} 只能是n个
{n,} 至少是n个
{n,m} n至m个
特殊符号
\ 解析元字符和转义符
| 逻辑或
() 作为整体执行
[] 只要是其中一个数值,就符合
a-b a至b范围之内的
[^] 对内容取反
写在表达式之外的
/正则/i 不区分大小写
/正则/g 全局匹配
5,和正则表达式相关联的函数
search()
默认区分大小写,使用正则,不区分大小写
不区分大小写 变量.search(/正则/i)
match()
默认只捕获第一个符合的内容,正则表达式捕获所有符合的内容
全局匹配 变量.match(/正则/g)
replace()
默认只替换第一个符合的内容,正则表达式替换所有符合的内容
全局匹配 变量.replace( /正则/g , 要替换写入的内容)
一.正则表达式
什么是正则表达式
对字符串内容,进行格式和内容的验证
对于正则表达式,我们不用自己去写,所有常用的正则表达式,在网上都可以搜到
我们只需要能看懂,会使用
所有的计算机语言,正则表达式,都是相同的,通用
正则表达式的基本语法
1,字面量(常用)
使用 // 来包裹表达式内容
var 变量 = /正则表达式/
2,构造函数
var 变量 = RegExt(‘正则表达式’);
正则表达式的使用方法
1,验证
判断字符串内容是否符合正则表达式的规范
执行结果是 布尔类型
语法 : 正则表达式.test(‘字符串内容’);
2,捕获
捕获获取字符串中符合正则表达式规范的内容
执行结果是捕获获取到的符合规范的字符串内容
语法 : 正则表达式.exec(‘字符串内容’)
二.正则表达式之常用语法规范
正则表达式,常用语法规范
正则表达式中,不要随便写空格,因为空格也会作为验证格式的一部分
1,元字符
使用一些符号,来表示规范
\d 表示数值,数字,只要有数字即可,不用都是数字
\D 表示非数字,只要有不是数字的就可,不用都是非数字
\w 表示数字,字母,下划线,只要有其中一个就可
\W 表示非数字,字母,下划线,只要有不是字母或数字下划线就可
\s 表示空格,只要有空格就可
\S 表示非空格 只要有不是空格的就可
. 表示非换行
字符串中的换行,使用 转义符 \n 表示
提示 正则表达式和转义符,都是 \内容的形式
JavaScript会自动识别,如果是 \内容 符合正则表达式,就按照正则表达式来执行
符合转义符,就按照转义符的形式执行
正则表达式和转义符不会冲突
// 只要有数字即可,不用都是数字
var reg1 = /\d/ ;
console.log(reg1.test('123456')) ; → true
console.log(reg1.test('abcd')) ; → false
console.log(reg1.test('1234abcd')) ; → true
var reg2 = /\D/;
console.log(reg2.test('123456')) ; → false
console.log(reg2.test('abcd')) ; → true
console.log(reg2.test('1234abcd')) ; → true
console.log(reg2.test('!@#$%^')) ; → true
var reg3 = /\w/;
console.log( reg3.test('123avbc_') ); → true
console.log( reg3.test('!@#$%^') ); → false
console.log( reg3.test('1234!@#$%^') ); → true
var reg4 = /\W/;
console.log( reg4.test('123avbc_') ); → false
console.log( reg4.test('!@#$%^') ); → true
console.log( reg4.test('1234!@#$%^') ); → true
var reg5 = /\s/;
console.log( reg5.test(' ') ); → true
console.log( reg5.test('312斤kfjisa') ); → false
console.log( reg5.test('312斤 kfjisa') ); → true
var reg6 = /\S/;
console.log( reg6.test(' ') ); → false
console.log( reg6.test('312斤kfjisa') ); → true
console.log( reg6.test('312斤 kfjisa') ); → true
var reg7 = /./;
console.log( reg7.test('\n') ); → false