正则表达式(RegExp)

本质:用来记录文本规则的代码(为字符串定义规则,为输入内容定义规则!)
定义:
方式一:
通过构造函数定义var 变量名= new RegExp(/表达式/);
方式二:
通过直接量定义var 变量名= /表达式/;
组成:有一些普通字符和元字符组成,普通字符就是字母和数字,元字符具有特殊意义的字符。
test() 方法
正则对象方法,检测测试字符串是否符合该规则,返回true和false,参数(测试字符串)
使用语法: Boolean = 表达式.test("要验证的内容");
正则内部类
预定义类

符号描述
.[^\n\r] 除了换行和回车之外的任意字符(“”不行)
\d[0-9] 数字字符
\D[^0-9] 非数字字符
\s[ \t\n\x0B\f\r] 空白字符
\S[^ \t\n\x0B\f\r] 非空白字符
\w[a-zA-Z_0-9] 单词字符
\W[^a-zA-Z_0-9] 非单词

简单类
正则://中什么特殊符号都不写,和[]的加入,//里面必须是完整的,只多不能少。[]只要包含里面的任何一个就可以

负向类
不能是其中的整体或者一部分。中括号内,前面加个元字符^进行取反,不是括号里面的字符(一部分也不行)。可以不够,但是不能多。不够和正好,返回false;多了或者没有返回true。这个符号 ^ 一定是写到方括号里面。

范围类

有时匹配的东西过多,而且类型又相同,全部输入太麻烦,我们可以在中间加了个横线。

组合类
用中括号匹配不同类型的单个字符。

正则边界
^ 会匹配行或者字符串的起始位置
注:^[]中才表示非这里表示开始
$ 会匹配行或字符串的结尾位置
^$在一起 表示必须是这个(精确匹配)

量词

符号描述
*(贪婪) 重复零次或更多 (>=0)
+(懒惰) 重复一次或更多次 (>=1)
?(占有) 重复零次或一次 (0 ll1) 要么有 要么没有
{}重复多少次的意思 , 可以有多少个
{n}n次 (x=n)
{n,}重复n次或更多 (x>=n)
{n,m}重复出现的次数比n多但比m少 (n<=x<=m)
*{0,}
+{1,}
?{0,1}
xly一个 l x 或者 y(没有&,用的是,代替的)
()提高权限,有限计算

封装自己的trim 函数

function trim(str) {
       return str.replace(/(^\s+)|(\s+$)/g,"");  // 去掉前面和后面的空格
}
Last modification:April 27, 2018
If you think my article is useful to you, please feel free to appreciate