JavaScript 正则表达式
// var reg2 = new RegExp("a");
// console.log(reg)
// console.log(reg2)
// console.log(typeof reg2)
// console.log(typeof reg)
// console.log(reg2 == reg)
// console.log(reg3 == reg)
// var reg = /a/;
// var reg3 = /a/;
修饰符
修饰符 可以在全局搜索中不区分大小写:
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配。 |
正则表达式模式
方括号用于查找某个范围内的字符:
表达式 | 描述 |
---|---|
[abc] | 查找方括号之间的任何字符。 |
[0-9] | 查找任何从 0 至 9 的数字。 |
(x|y) | 查找任何以 | 分隔的选项。 |
元字符是拥有特殊含义的字符:
元字符 | 描述 |
---|---|
\d | 查找数字。 |
\s | 查找空白字符。 |
\b | 匹配单词边界。 |
\uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。 |
量词:限定符,可以指定正则表达式的一个给定组,必须要出现多少次才能满足匹配
量词 | 描述 |
---|---|
n+ | 匹配任何包含至少一个 n 的字符串。 |
n* | 匹配任何包含零个或多个 n 的字符串。 |
n? | 匹配任何包含零个或一个 n 的字符串。 |
补充:
使用 test()
test() 是一个正则表达式方法。
它通过模式来搜索字符串,然后根据结果返回 true 或 false。
下面的例子搜索字符串中的字符 "e":
var patt = /e/;
patt.test("The best things in life are free!");
由于字符串中有一个 "e",以上代码的输出将是:true
使用 exec()
exec() 方法是一个正则表达式方法。
它通过指定的模式(pattern)搜索字符串,并返回已找到的文本。
如果未找到匹配,则返回 null。
下面的例子搜索字符串中的字符 "e":
/e/.exec("The best things in life are free!");
由于字符串中有一个 "e",以上代码的输出将是:e
使用字符串方法:
不能直接使用,配合方法使用,正则一般都是用来验证字符的
字符:
str.match(reg)
str.replace(reg)
简单邮箱:字母开头数字6位 @ 数字字母2~9 . 字母2~4
// var str = "a70420@qq.com";
// var reg = /^[a-z][a-z0-9]{0,5}@[a-z0-9]{2,9}\.[a-z]{2,4}$/;
// console.log(reg.test(str))
// qq号
// var str = "704206198";
// var reg = /^[1-9]\d{4,11}$/;
// console.log(reg.test(str))
// 邮编
// var str = "200000";
// var reg = /^\d{6}$/;
// console.log(reg.test(str))
// 固话
// var str = "0562-1234567-1021";
// var str = "0562-1234567";
// var str = "1234567";
// var str = "1234567-1021";
// var reg = /^(0\d{2,3}-)?[1-9]\d{6}(-\d{1,4})?$/;
// console.log(reg.test(str))
// 网址
// var str = "https://www.baidu.com.cn"
// var str = "https://www.baidu.com.cn"
// var str = "http://www.baidu.com"
// var str = "www.baidu.com"
// var str = "mp3.baidu.com"
// var str = "baidu.com"
// var reg = /^(https?:\/\/)?([a-z\d]{1,6}\.)?[a-z\d]{2,18}(\.[a-z]{2,4}){1,2}$/;
// console.log(reg.test(str))
正则表达式手册 :http://tool.oschina.net/uploads/apidocs/jquery/regexp.html