正则

正则表达式的英文是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://regexper.com/

 

https://regex101.com/#javascript

 

 

 

posted @ 2017-07-06 14:09  chuanzhi946  阅读(183)  评论(0)    收藏  举报