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}