正则表达式知识点和习题
正则知识点:
1. 只要验证字符串格式或查找、屏蔽敏感词时都要用正则
(1). 最简单的正则: 一个敏感词的原文
(2). 某一位字符上可能有多种备选字时用: [备选字列表]
(3). 如果[]中部分字符是连续的,可用: [x-x]
a. 一位小写字母: [a-z]
b. 一位大写字母: [A-Z]
c. 一位字母(大小写都行): [A-Za-z]
d. 一位字母或数字都行: [0-9A-Za-z]
e. 一位汉字: [\u4e00-\u9fa5]
(4). 预定义字符集:
a. \d 一位数字
b. \w 一位数字、字母或_
c. \s 空格、tab、换行等空字符
d. . 任意字符
(5). 如果规定一个字符集或子规则反复出现的次数时就用量词:
a. 有明确数量边界的量词:
1). {n} =n 必须n个,不能多也不能少
2). {n,m} n个<= <=m个
3). {n,} n个<= 多了不限
b. 没有明确数量边界的量词:
1). * 0个<= 可有可无,多了不限
2). ? 0个或1个 可有可无,最多一个
3). + 1个<= 至少一个,多个不限
(6). 两个规则中选其一匹配即可: 规则1|规则2
(7).希望将多个子规则分为一组先联合匹配,再和分组外的其他规则联合匹配:
(多个子规则)
(8). 匹配特殊位置: 3个
a. 字符串的开头位置: ^
b. 字符串的结尾位置: $
c. 英文句子中的单词的左右边界: \b
正则习题:
- 给一个连字符串例如:get-element-by-id转化成驼峰形式。
- 匹配二进制数字
- 非零的十进制数字 (有至少一位数字, 但是不能以0开头)
- 匹配一年中的12个月
- 匹配qq号最长为13为
- 匹配常见的固定电话号码
- 匹配ip地址
- 匹配用尖括号括起来的以a开头的字符串
- 分割数字每三个以一个逗号划分
- 判断字符串是否包含数字
- 判断电话号码
- 判断是否符合指定格式
- 判断是否符合USD格式
- JS实现千位分隔符
- 获取 url 参数
- 验证邮箱
- 验证身份证号码
- 匹配汉字
- 去除首尾的'/'
- 判断日期格式是否符合 '2017-05-11'的形式,简单判断,只判断格式
- 判断日期格式是否符合 '2017-05-11'的形式,严格判断(比较复杂)
- IPv4地址正则
- 十六进制颜色正则
- 车牌号正则
- 过滤HTML标签
- 密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
- URL正则
- 匹配浮点数

浙公网安备 33010602011771号