正则

正则:检索字符串的一条规则。

正则就是由元字符和修饰符构成的

写在//里面的都叫元字符,元字符分俩种,一种是有特殊意义,一种没有特殊意义,没有特殊意义的就是字符本身

特殊意义的元字符

1.\转义字符 转义后面紧跟的字符的意义\

2.点代表除了\n以外的任何单个字符

3.d,D,w,W,s,S,b,B

4.^以什么开头

5.$以什么结尾

6.|代表或的意思

带有量词意思的元字符

1.?代表0到1ge

2*代表0到多个

3.+代表1到多个

4.{}系列

【】系列元字符

【xyz】代表x或y或z的任意一个

【0-9】代表0到9之间的数字

【a-z】代表a到z之间的字母

【A-Z】代表A到Z之间的字母

【A-z】代表A到z之间的字母

正则的细节

  1. 正则定义的区别

Var reg=/hello/g

Var reg=new RegExp(“hello”,”g”)

前者里面不能引用变量,后者可以。

2.reg=/^\d$/

 

因为^和$符不占用位置,也就说明开头和结尾之间夹了一个数字,表达一个纯数字

3././和/\./的区别

 

  1. [.],[+]的意思

.和+在正则里是特殊的元字符,.是任意字符+是量词代表多个。

在[]里面的.和+就是这个字符本身,没有意义。

  1. |代表或

[2|3] 代表2或3

[12|34] 代表1或2|3或4,或者12,34 往往这种情况需要分组()

[(12|34)]

[xyz]

  1. -的问题

/-/ 就是-本身。没有意义,如果写在[0-9]代表0到9之间的任意一个数字。

[12-65]代表18到65之间的数字???

表达的是1或者2-6的数字或者5

案例1写一个12到65周岁的正则

var reg=/^(1[2-9])|([2-5][0-9])|(6[0-5])$/

     var st="66"

console.log(reg.test(st))

案例2 写一个正常的数字的正则

+12 -12  23 23.256 6 0.36

var reg=/^[+-]?([0-9]|[1-9]\d+)(\.\d+)?$/

var st="60"

console.log(reg.test(st))

posted @ 2018-12-20 19:24  前端工作员  阅读(203)  评论(0编辑  收藏  举报