正则
正则表达式的英文是regular expression
新建正则表达式有两种方法:
方法一
var reg = /[abc]/;或var reg = /[abc]/g;
方法二
var reg = new RegExp("[abc]");或var reg = new RegExp("[abc]","g");
基础知识:
| m | 修饰符,执行多行匹配 |
| g | 修饰符,查找所有匹配而非找到第一个匹配后停止 |
| i | 修饰符,执行对大小写不敏感的匹配 |
| [ ] | 匹配某个范围内的字符 |
| \ | 转译符,例如:\b,\*,\\ |
| \w | 字母(不区分大小写)、数字、下划线,等价于[a-zA-Z0-9_] |
| \W | 和\w相反,等价于[^a-zA-Z0-9_] |
| \d | 数字,等价于[0-9]或[0123456789] |
| \D | 非数字,等价于[^0-9]或[^0123456789] |
| $ | 匹配字符串的结束 |
| ^ | 匹配字符串的开始 (在[ ]中表示取反) |
| * | 匹配0个或多个 |
| + | 匹配1个或多个 |
| ? | 匹配0个或1个 |
| {n} | 匹配n个 |
| {n,} | 匹配n个或多个 |
| {n,m} | 匹配n到m个,包括n和m |
| \s | 空白符 |
误区:[abc]、[0-9]、[0123456789],说的都是内容,只要有[ ]中的任一个就匹配,要匹配多位要用数量控制符
[ ] 代表一个字符集合,.+ 等放在里面不会产生歧义。除了 [ ]- 应该都不用转义。
保留两位小数:/^(0|[1-9]\d*)(\.\d[1-9])?$/
[0,1]:/^(0\.\d*[1-9]|0|1)$/g
正整数:/^[1-9]\d*$/g
邮箱:/^([\w\.\-])+\@([a-zA-Z0-9\-])+(\.[a-zA-Z0-9]{2,4})+$/g
正则的方法:
var str = "abcdef";
reg.test(str);如果str中含有reg匹配的文本则返回true,str必须是字符串
https://regex101.com/#javascript

浙公网安备 33010602011771号