正则表达式博大精深,作为一名开发人员不能不会正则,效率好使用方便,写起来还干净利落简直就是神器。使用场景也很多,webpack中的loader配置,devServer中的historyFallBack中的路由匹配,表单验证等等使用正则及其方便。
创建一个正则
创建一个正则有两种方式和我们创建正常的变量一样。
- 字面量
var test = /a+/
使用两个/
包裹 - 创建
RegExp
对象,var test = new RegExp("a+");
手机号匹配
- 以 1 开始
- 第二个数字为 3 4 5 7 8 中的一个
- 接 9 个数字
// ^ 表示匹配正则开始 $ 表示匹配正则结束
// () 表示子正则表达式 | 表示或
// \d 表示一个0-9的数字等价于[0-9] {n} 表示前面一个字符出现 n 次
var phoneTest = /^1(3|4|5|7|8)\d{9}$/;
那么 /^1(3|4|5|7|8)\d{9}$/
就是最终的正则验证表达式。
邮箱验证
- 以大写字母、小写字母、数字、下划线、-、. 开始并重复1到n次
- 中间以 @ 连接
- 后接 大写字母、小写字母、数字、下划线、-、. 重复1 到n 次
- 以 . 接2到4位的大小写字母
// - 和 . 都是特殊字符 使用时需要进行转义
var emailTest = /^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z]{2,4}/