JavaScript正则表达式笔记

香菊网 发表于: 2019-06-03 分类: js部分  H5部分  前端front  

定义规则让计算机去处理字符串

正则表达式写法:

//第一种
var reg = new RegExp('ab');
//第二种
var reg = /ab/;

量词:{}

{3} 出现次数为最多3次
{1,4} 1 <= 出现次数 <= 4
{1,} 最少出现1次,简写 +
{0,} 至少0次,简写*
{0,1} 最少0次,最多1次,简写?

字符集:[]

[a-z] 从小写a-z
[A-Z] 大写A-Z
[0-9] 0-9
[^a] 除了a以外的

匹配子集:()

var str = 'abcvbcafbc';
console.log( str.match( /(bc)+/g ) );//输出结果为:["bc", "bc", "bc"]

标识:

g : 搜索整个字符串
i : 不区分大小写
var str = 'abcvBcafbc';
str.match( /(bc)+/gi )//整个字符串搜索,不区分大小写

元字符

^ -------> 字符串开始
$ -------> 字符串结束
d ------> 数字
w ------> 匹配数字、字母、下划线
s ------> 匹配任意空白符
//常用反义词
D ------> 非数字
W ------> 匹配任意不是字母,数字,下划线,汉字的字符
S ------> 匹配任意不是空白符的字符
[^x] ----> 匹配除了x以外的任意字符
[^abcfg] -> 匹配除了aeiou这几个字母以外的任意字符
[u2E80-u9FFF]  --> 匹配中文汉字

小实例

// 验证qq号: 
/^[1-9]{1}d{4,8}$/

// 验证邮箱:
/^(w+|w+(.w+))+@(w+.)+w+$/

// 验证手机号
/^1[35789]d{9}$/

// 固定电话
/^0d{2,3}(((-|\_)d{7,8}$)|(d{7,8}$))/

// 身份证
/^[1-9]d{5}1[89]d{2}((0[1-9])|(1[012]))((0[1-9])|((1|2)[0-9])|(3[01]))d{3}(d|X)$/i

// 域名
/^https?://(w+.)+w+(:d+)?$/i
标签: js部分H5部分前端front
Copyright © 2019 幻雨焉缘博客 | 浙ICP备19001843号-1
----------------------------------
种一棵树,最好的培养时间是十年前,其次是现在 加油  (ง •_•)ง。        ──── 前端攻城狮