JS——正则

正则的声明:

1、构造函数:var 变量名= new RegExp(/表达式/); 

2、直接量:var 变量名= /表达式/;

test()方法:

1、正则对象方法,检测测试字符串是否符合该规则,返回true和false,参数(测试字符串)

2、Boolean = 表达式.test("要验证的内容");  

正则内部类:

1、预定义类

.       除了换行和回车之外([^\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]           非单词字符 

2、简单类

1、/string/.test(“string”);            必须是完整的,只多不能少
/andy/.test(“andy”)                      // true
/andy/.test(“andylv”)                    // true
/andy/.test(“an”)                        // false
//一句话,只要完整包含了andy 就可以了(有他就行)

2、/[string]/.test(“string”);          只要包含里面的任何一个就可以
/[andy]/.test("andy");                  // true
/[andy]/.test("an");                    // true
/[andy]/.test("ady");                   // true
/[andy]/.test("anll");                  // true
/[andy]/.test("assd");                  // true
/[andy]/.test("ss");                    // false
/[3aH8]/.test("ss");                    // false

3、负向类

//中括号内,前面加个元字符^进行取反
//可以不够,但是不能多
//不够和正好,返回false;多了或者没有返回true
console.log(/[^abc]/.test('a'));        //false
console.log(/[^abc]/.test('abc'));      //false
console.log(/[^abc]/.test('abcd'));     //true

4、范围类

//有时匹配的东西过多,而且类型又相同,全部输入太麻烦,我们可以在中间加了个横线
console.log(/[a-z]/.test('1111'));
console.log(/[A-Z]/.test('aa'));

5、组合类

//用中括号匹配不同类型的单个字符。
console.log(/[a-m1-5]/.test("b"))       //true

正则边界

1、^ 会匹配行或者字符串的起始位置(^在[]中才表示非!这里表示开始)

2、$ 会匹配行或字符串的结尾位置

//^$在一起 表示必须是精确匹配
console.log(/lily/.test("lilyname"));    // true
console.log(/^lily$/.test("lily"));      // true
console.log(/^lily$/.test("ly"));        // false

量词

//量词的意思是多个字母,重复最后一个
*   (贪婪)   重复零次或更多       (>=0)
+   (懒惰)   重复一次或更多次      (>=1)
?   (占有)   重复零次或一次       (0||1)  数量为0或者1

比较特殊的{}

//{}重复多少次的意思,可以是个范围值,也可以是具体个数
{n}         n次           (x=n) 
{n,}        重复n次或更多   (x>=n)
{n,m}       重复出现的次数比n多但比m少 (n<=x<=m)
*           {0,}
+           {1,}
?           {0,1}

或者“|”,配合()提高权限

//匹配座机号码
var regexp  = /^(0\d{2}-\d{8})|(0\d{3}-\d{7})$/;
var demo    = /^0\d{2}-\d{8}$|^0\d{3}-\d{7}$/;

 符号

1、() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。(\s*)表示连续空格的字符串。

2、[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号,([\s\S]*)表示换行空格在内的所有文本

3、{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格

4、(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。

5、[0-9]{0,9} 表示长度为 0 到 9 的数字字符串。

转载于:https://www.cnblogs.com/wuqiuxue/p/8023538.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值