JS中的正则

85 阅读1分钟
pattern //正则表达式的文本。
flags // flags 是包含要添加的标志的字符串。
/*
flags 可包含下列任何字符的组合:
    g (全局匹配):找到所有的匹配,而不是在第一个匹配之后停止。
    i (忽略大小写):如果u标志也被启用,使用Unicode大小写折叠。
    m (多行匹配):将开始和结束字符(^ and $)视为在多行上工作。换句话说,匹配每一行的开头或结尾each line (由\n或者\r 分隔),而不仅仅是整个输入字符串的开头或结尾。
    s (点号匹配所有字符):允许. 去匹配新的行
    u (unicode):将模式视为Unicode码位序列。(请参见二进制字符串)。
    y (sticky,粘性匹配):只匹配目标字符串中该正则表达式的lastIndex属性所指示的索引。不尝试匹配任何以后的索引。
*/

1.构造函数写法(new RegExp(pattern[, flags]))

var reg = new RegExp("a")
var result = "a"
reg.test(result)//true//还可以添加参数
var reg = new RegExp("a","i")//ignore大小写
var result = "A"
reg.test(result)//true

2.字面量写法(/pattern/flags)

var reg = /a/i //等同于var reg = new RegExp("a","i")
                //等同于var reg = new RegExp(/a/,"i")
var result = "A"
reg.test(result)//true

对象的写法更为灵活,字面量的写法更加简洁

3.工厂方法(RegExp(pattern[, flags]))

可以创建判断更复杂的正则

var reg = /ab/       //需要出现连着的ab
var reg = /a|b|c/    //或的关系,出现任意一个都会返回true
var reg = /[a-z]/    //同样是或的关系,用于简化写法,表示出现a-z中的小写字母都可以
var reg = /[A-Z]/    //同样是或的关系,用于简化写法,表示出现A-Z中的大写字母都可以

具体可以查看www.w3school.com.cn/jsref/jsref…