一,在js中创建正则
1. 通过new regexp
var regexp = new rexexp(/123/)
2.字面量创建正侧
var regexp = /123/
二,使用正则
var rg = /1/
rg.test(123) //匹配字符123中 有1 未true
rg.test('abc') //匹配字符abc中 无有1 未false
三,特殊字符
1. ^ 表示文本以谁开头
var rg = /^123/
rg.test(1234) // true
rg.test(2466) // false
2. $ 表示文本以谁结尾
var rg = /3$/
rg.test(123) // true
rg.test(564) // false
var rg = /^13$/
rg.test(13) // true
rg.test(113) // false
rg.test(1313) // false
3. [] 表示匹配其中一个就可以了
var rg = /[123]/
rg.test(123) //true
rg.test(1) // true
rg.test(2) // true
var rg = /^[123]$/
rg.test(123) //true
rg.test(1) // true
rg.test(2) // true
rg.test(11) //false
4. a-z 表示小写字母 a到z
A-Z 表示大写字符 a到z
0-9 表示数字 0到9
var rg = /^[a-z,A-Z,0-9]$/ 只要是 大写小写a到z 和 数字 0到9 都是true
rg.test(1) // true
rg.test('a') // true
rg.test('B') // true
5. [^]在方括号中加 ^ 代表取反 只要包含方括号中的内容 都返回 false
var rg = /^[a-z,A-Z,0-9]$/ 只要是 大写小写a到z 和 数字 0到9 都是false
rg.test(1) // false
rg.test('a') // false
rg.test('B') // false
6. * 重复0次或者 更多次
+ 重复1次 或者 更多次
? 重复0次 或者 更多次
{n} 重复n次
{n,m} 重复n到m次
var rg = /^[a-z]+[0-9]*$/
rg.test('a') // true
var rg = /^[a-z]+[0-9]+$/
rg.test('a') // false
rg.test('a9') // true
() 小括号代表优先级 貌似所有语言都是 就连小学数学都是代表优先级的意思
7.预定义类
\d 匹配0-9 之间的任意数组 ,相当于[0-9]
\D 匹配所有 0- 9以为外的字符 ,相当于[^0-9]
\w 匹配任意字母,下划线,数字 。 相当于[a-zA-Z0-9]
\W 除所有字母,数字,下划线以外的字符,相当于 [^a-zA-Z0-9]
\s 匹配空格符,制表符,换行符。 相当于[\t\r\n\v\f]
\S 匹配非空格的字符 , 相当于[^\t\r\n\v\f]
四,替换replace
var str = '123135'
var strs = str.replace('1','2') // 223135
var strs = str.replace(/1/,'2') // 223135
var strs = str.replace(/1/g,'2') // 全部替换223235
var strs = str.replace(/1/gi,'2') // 全部替换不区分大小写223235
发表评论