正则表达式-RegExp

RegExp简介:
RegExp即正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE/re/reg),就是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式,搜索模式可用于文本搜索和文本替换。

如何声明一个正则表达式:

var re=new RegExp()  ||  var re=/a/  ||  var reg=/字符串/选项
正则中的选项有
i  -->  忽略大小写
g -->  进行全局匹配
m -->  多行模式  默认是单行模式  多行模式只影响行首和行尾

RegExp中的字符串方法:

(1)、charAt()  获取某个字符,返回字符串某一位的字符。
(2)、split()   分割字符串,获得数组。
(3)、search()  查找某个字符首次出现的位置,配合正则使用更好,返回值为数值,没找到返回-1。
(4)、match()   查找字符串中指定字符并返回该字符,如果不使用正则,则只返回首次出现的指定字符,不会再向后匹配,如果使用正则并进行全局匹配,则以数组形式返回字符串中所有指定的字符,没找到则返回null。
(5)、replace()  替换字符,返回一个新字符串,配合正则使用更好,可以替换所有匹配。

RegExp中的修饰(也叫定语):

约束作用:^行首、$行尾

元组(方括号):

[]         任选其一
[a,b,c]    计算机会认为是a || b || c
[a-z]      a到z其中的一个
[^ 0-9]    除了,排除0-9以外的    

转义:
在转义中注意大小写,代表的功能不同

\d    数字 和[0-9]效果一样
\w    数字字母或下划线
\s    空白字符(空格之类)
.     任意字符
\D    非数字    [^0-9]
\W    非数字字母下划线
\S    非空白字符

量词(个数):
当不给量词的时候代表一个

{n}                正好n个
{n,m}              n到m个
{n, }              最少n个,最多不限
{0,m}              最少可以没有,最多m个
+    相当于{1, }    最少1个,最多不限
*    相当于{0, }    最少可以没有,最多不限    空格也算所以*慎用*
?    相当于{0,1}    可有可无,最多1个

正则中的中文范围:

/[\u4e00-\u9fa5]/

写正则一定要配合^和&,不然在你正则的前后是可以进行添加的

讲了这么多小方法,接下来给大家带来几个实例:

用户名(以英文开头,后面包括英文、数字或_):/^[a-zA-Z]+\w+$/

密码(英文、数字、_或特殊符号,6-32位):/^([\w]|[\、\~\`\!\@\#\$\%\^\&\*\(\)\_\+\|\{\}\[\]\/\<\>\,\.\=\-\¥\]){6,32}$/

手机:/^[1][\d]{10}$/

带区号固定电话:/^([0]{1}[1-9]{2,3}[-]?)?([1-9]{1}[0-9]{6,7}){1}$/

电子邮箱:/^(\w+@\w+){1}(\.\w+){1,2}$/

邮编:/^[1-9][\d]{5}$/

18位身份证号码:/^[1-9]\d{5}[1-9]\d{3}[0,\d]{4}[\d]{3}[x,X,\d]$/

时间(时分秒):/^[0-2]?[0-9]\:[0-5][0-9]\:[0-5][0-9]$/

网址((https?:\/\/)?(www\.)?)?[a-z0-9A-Z\u4e00-\u9fa5]+(\.[a-zA-Z]+){1,2}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容