其中用作选项的有:
- i 忽略大小写(ignore);
- g 全局,通篇(global);
- m 多行模式(muti-line); m 只影响 ^ $
量词:
- {n} 指定了n个
- {n,m} 最少n个,最多m个
- {n,} 最好n个,多了不限
- {0,m} 最多m个,少了不限
- + 若干,许多 1个也算 100000个也行
只管前面的一个
ab+ 重复出现多次的是b
(ab)+ abab要同时出现(重复) - *任意个 可以没有 不推荐用
- ? 有(1次)或者没有 {0,1}
修饰: 一种条件
- ^ 开头 行首
- $ 结尾 行尾
\b 单词边界(boundary)
能把单词隔开东西
_ 杠算一个单词
- 一个边界
转义:
- \d 数字 [0-9]
- \w 单词(英文数字下划线) [a-z0-9_]
- \s 空白字符
- . 任意字符
特点: 出现在[]里面,可以直接写
出现在[]外面,需要转义 \. - \D 非数字
- \W 非单词
- \S 非空格
字符的转义: \
- \ 转义本身
- \x 转义字符x
- \xnnnn n不转
- 要的是(转义本身)出现 \
正则也有转义:
- 转义 \
\x x会被转义 - \d 数字(1个) digital
或 | 优先级很低
方括号:
- [abc] 方括号 a或b或c 任选一个
- [a,b,c] 或a或b或c或逗
- [x-o] 从x到o [0-9] [a-z]
[-] 或-
[a-c] a到c
[ab-] 或a或b或- - 排除: / [^abc] /
- 行首: /^ /
- g 和 + 谁也代替不了谁
校验座机号:
027-8765654
027-87654543
027-xxxxxxxx/xxxxxxx
02798767654
027/0571/0999
87654321
区号: xxx(x) 4、3位都可以 第一位0, 第2位开始1到9
/ 0[1-9]\d{1,2} /
- 可有可无
/ -? /
号码:7/8位 第1位 没有0
/ [1-9]\d{6,7} /
区号/- 都可有可无
/ (0[1-9]\d{1,2}-?)? /
校验邮箱:
正确: bluelieder@qq.com
blue123@qq.com
blue_love@qq.com
blue-love@qq.com
jquery11.1@qq.com
abc@sina_123234.com
abc@xxx.com.cn
abc@xxx.tw
abc@xxx.com.xx
名字: 英文、数字、点、减号、下划线 3-18
[a-zA-Z0-9.-_]{3,18}
@: @
域名:
.之前 英文数字_
\w+
.之后(带着点) 英文,点 2------6
\.
[a-zA-Z.]{2,6}
- tel: /^(0[1-9]\d{1,2}-?)?[1-9]\d{6,7}$/
- mail: /^[a-zA-Z0-9_.-]{3,17}[a-zA-Z0-9]@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{1,2})?$/
- 校验年纪: /^(1[6-9]|[2-9]\d|100)$/;
正则的方法: re.test(字符) 返回 true/false
- 特点:只要有一个匹配就为true;
- 解决: ^ $ 解决 ;
- 问题: 如果找的是不在行首,不要用test;
- 问题:用了test g不要加
字符方法:
- strObj.charAt(index) 返回 字符 undefined ”
- strObj.indexOf(字符|规则) 返回 下标 -1
- strObj.lastIndexOf(字符|规则) 返回 下标 -1
- strObj.toUpperCase/toLowerCase() 返回 字符
- strObj.substring(start,end) 返回 字符/” 不包含end,
- strObj.charCodeAt(index) 返回 编码code/NaN
- String.fromCharCode(code) 返回 字符/”
- strObj.replace(被替换字符|规则,替换成的字符)
- strObj.replace(被替换字符|规则,回调函数)
- strObj.search(正则) 返回 下标/-1
strObj.match(正则) 返回 数组/null
- -