正则表达式
1.什么是正则表达式?
正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式
2.正则表达式有什么作用?
正则表达式主要作用就是进行模式匹配和替换
3.如何定义一个正则表达式?
定义正则表达式有两种方式: 1).字面量定义 "/正则/" eg:/\d/ 匹配任意数字 2).RegExp()构造函数创建 eg:var reg = new RegExp("\d");
4.正则表达式符号及其含义
| 符号 | 含义 |
|---|---|
| \d | 匹配任意数字 |
| \D | 匹配任意非数字 |
| \w | 匹配任意字母,数字和下划线(_) |
| \W | 匹配任意非字母,数字和下划线 |
| \s | 匹配任意空白字符(tab,enter等) |
| \S | 匹配任意非空白字符 |
| . | 匹配除了换行符之外的其他任意字符 |
| | | 表示或的关系 |
| * | 表示至少0个前面表达式 |
| ? | 表示有0个或者1个前面表达式 |
| + | 表示至少有1个前面表达式 |
| ^ | 开始界定符,表示以后面表达式开始 |
| $ | 结束界定符,表示以前面表达式结束 |
| [] | 定义一个字符集合,匹配字符集合中的任意一个字符 |
| {} | 表示范围 |
| {n} | 表示重复前面表达式n次 |
| {n,} | 表示重复前面表达式至少n次 |
| {n,m} | 表示重复前面表达式至少n次,至多m次 |
小例子
1.匹配手机号的正则表达式
#字面量方式:
var reg = /^1[34578]\d{9}$/
#RegExp()构造函数创建:
var reg = RegExp("^1[34578]\d{9}$")
2.匹配身份证号的正则表达式:
#字面量方式定义:
var reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/
#RegExp()构造函数创建:
var reg = RegExp("(^\d{15}$)|(^{17}\d([0-9]|X)$)")
**说明:**由于身份证号码有15位和18位两种形式,因此在书写正则表达式时会进行两种模式匹配
备注: 本文是个人学习笔记综合所成,如有问题还请留言指出,共同进步。