创建正则
- 构造函数创建
var regexp = new RegExp(/123/)
- 利用字面量创建
var rg = /123/
- 测试是否符合规则。符合:true 不符合:false
rg.test(123)
// true
rg.test('abc')
// false
特殊字符
- 边界符 ^ $
var reg = /^abc$/
// 以abc开头且以abc结尾,精确匹配,必须是'abc'
- 只匹配其中一个即可
var reg = /[abc]/
// 只要有abc其中的一个就符合,包含a或b或c中一个即可
- 范围符 -
var reg = /^[a-z]$/
// 26个字母里的任何一个都符合
- 字符组合
var reg = /^[a-zA-Z0-9_-]$/
- 取反 ^
var reg = /^[^a-zA-Z0-9_-]$/
// 中括号里的 ^ 表示取反的意思,表示不能包含后面那些字符
量词符
- *相当于 >= 0
var reg = /^a*$/
// 'a' 'aa' 'aaa' 都符合
- +相当于 >= 1
var reg = /^a+$/
// ' '不符合,'a','aa'符合
- ?相当于 1 || 0
var reg = /^a?$/
// ' ','a'符合,'aaa'等都不符合
- {3}是重复三次;{3,}是>=3;{3,16}是>=3且<=16
var reg = /^a{3}$/
var reg = /^a{3,}$/
var reg = /^a{3,16}$/
var reg = /^abc{3}$/
// 'abccc' 符合
var reg = /^(abc){3}$/
// () 表示优先级,'abcabcabc' 符合
var reg = /^[a-zA-Z0-9_-]{6,16}$/
预定义类

正则表达式参数
/表达式/[switch]
switch(也称为修饰符)按照什么样的模式来匹配。有三种值:
- g:全局匹配
- i:忽略大小写
- gi:全局匹配+忽略大小写
正则表达式实现替换字符串
示例:正则实现 trim 功能
function trim(string){
return string.replace(/^\s+|\s+$/g,'')
}
网友评论