正则表达式(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,"");  // 去掉前面和后面的空格
} 
                            