使用正则表达式
创建正则表达式
// 实例化对象创建正则表达式
var reg = new RegExp("abc")
// 字变量创建正则表达式
var reg = /abc/
在js中有两个RegExp和String能使用正则表达式
- RegExp :
- reg.exec(string),
- reg.test(string) 返回true|false
- String :
- string.match(reg)
- string.matchAll(reg)
- string.replace(reg)
- string.search(reg)
- string.split(reg)
正则表达式修饰符
字符 | 含义 | 简单使用 |
---|
i | 执行对大小写不敏感的匹配。 | |
g | 执行全局匹配 (查找所有匹配而非在找到第一个匹配后停止)。 | |
m | 执行多行匹配。 | |
特殊字符
字符 | 含义 | 简单使用 |
---|
\ | 用于放在特殊字符前 表示该字符 | / \ / \ / /.test(“http://”) |
. | 小数点 匹配任意一个字符 | /.a/.test(“ba”) |
断言
字符 | 含义 | 简单使用 |
---|
^ | 字符串的开头 | /^a/.test(“ab”) |
$ | 字符串的结尾 | /b$/.test(“ab”) /^ab&/.test(“ab”) |
导管 | $1 | |
量级
字符 | 含义 | 简单使用 |
---|
+ | 匹配一个以上字符,相当于{1,} | |
* | 匹配0个以上字符,相当于{0,} | |
? | 匹配0个或者1个字符 | |
字符
大写和小写字母相反
字符 | 含义 | 记忆技巧 |
---|
\b | 单词边界 | border:边界 |
\d | 数字 /[0-9]/ | digital:数字 |
\w | 字母数字下划线 相当于[A-Za-z0-9_] | word:字 |
\s | 匹配空白字符 | whitespace:空白字符 |
空白字符
字符 | 含义 |
---|
\f | 换页符 |
\n | 换行符 |
\r | 回车键 |
\t | 水平制表符 |
\v | 垂直制表符 |
括号
字符 | 含义 | 简单使用 |
---|
{} | 大括号 出现n次{n} 一个范围 {min,max} | {0,} {10} {1,100} |
[] | 中括号 一个集合 | [0-9] [a-z] [A-Z] |
() | 小括号 记住当前操作 | /(a|b){10}/ (a或b)出现10此次 |
开发常用语句
- 手机号 : /^1\d{10}$/.test(str)
- 邮箱: /@([a-z]+)\./.test(str)
- 网址匹配:/^(http|https)\:\/\ //
- 网站参数:url.split(/\?|\&/).shift()