\d:匹配0-9之间任意一个数字,相当于[0-9]
\D:匹配除0-9之外任意字符,相当于[^0-9]
\w:匹配任意字母,数字和下划线,相当于[A-Za-z0-9_]
\W:匹配任意除字母,数字和下划线之外任意字符,相当于[^A-Za-z0-9_]
\s:匹配空格(换行符,制表符,空格符等),相当于[\t\r\n\v\f]
\S:匹配除空格之外任意字符,相当于[^\t\r\n\v\f]
补充:
正则表达式
用于匹配字符串中字符组合的模式
作用: 验证表单、过滤敏感关键词、从字符串中获取特定部分
特点:
- 灵活性、逻辑性和功能性非常强
- 可以迅速地用极简单的方式达到字符串的复杂控制
- 对于刚接触的人来说,比较晦涩难懂
- 实际开发中,一般都是直接复制写好的正则表达式,然后根据要求修改
创建正则表达式:
- 利用 RegExp对象来创建
var regexp = new RegExp(/123/); - 利用字面量创建
var rg = /123/;
测试正则表达式: test() 返回布尔值 如:rg.test(123)
正则表达式的特殊字符(元字符):
- 边界符:^:行首的文本(以谁开始) $ :行尾的字符(以谁结束)
- 字符类: [] 表示有一系列字符可供选择,只要匹配其中一个就可以了 范围符[-]
- 字符组合:/^ [a-zA-Z0-9_-]$/ 26个英文字母(大写和小写都可以)任何一个字母返回 true
如果中括号里面有^ 表示取反的意思 /^ [ ^a-zA-Z0-9_-] $/ 不要和边界符混淆 - 量词符:
*相当于 >= 0 可以出现0次或者很多次
+相当于 >= 1 可以出现1次或者很多次
? 相当于 1 || 0
{n } 就是重复n次
{n, } 大于等于n
{n,m} 大于等于n 并且 小于等于m 中间不能有空格 - [switch] 修饰符 g:全局匹配 i:忽略大小写 gi:全局匹配+忽略大小写 如:/^a$/g
几种常用的正则表达式:
/^1[3|4|5|7|8]\d{9}$ /; // 手机号码的正则表达式
/^ [1-9]\d{4,}$ /; // qq号的正则表达式
/^ [a-zA-Z0-9_-]{6,16}$ /;// 密码框的正则表达式
/^ [\u4e00-\u9fa5]{2,8}$ /;// 昵称的正则表达式
/^\d{6}$/;// 短信验证的正则表达式
正则表达式中的替换
stringObject.replace(regxp/substr,replacement) 只能替换第一个满足条件的字符串
1.第一个参数:被替换的字符串或者正则表达式
2.第二个参数:替换为的字符串
3.返回值是一个替换完毕的新字符串
text.value.replace(/激情|gay/g, ‘**’);