前端基础之初识正则表达式

. RegExp:正则表达式对象
1. 正则表达式:定义字符串的组成规则。
1. 单个字符:[]
如: [a] [ab] [a-zA-Z0-9_]
特殊符号代表特殊含义的单个字符:
\d:单个数字字符 [0-9]
\w:单个单词字符[a-zA-Z0-9_]
2. 量词符号:
?:表示出现0次或1次
【:表示出现0次或多次】
+:出现1次或多次
{m,n}:表示 m<= 数量 <= n
m如果缺省: {,n}:最多n次
n如果缺省:{m,} 最少m次
3. 开始结束符号
^:开始
$:结束
2. 正则对象:
1. 创建
1. var reg = new RegExp(“正则表达式”);
2. var reg = /正则表达式/;
2. 方法
1. test(参数):验证指定的字符串是否符合正则定义的规范
9. Global
1. 特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。 方法名();
2. 方法:
encodeURI():url编码
decodeURI():url解码

encodeURIComponent():url编码,编码的字符更多
decodeURIComponent():url解码

parseInt():将字符串转为数字
逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
isNaN():判断一个值是否是NaN
NaN六亲不认,连自己都不认。NaN参与的==比较全部问false

eval():讲 JavaScript 字符串,并把它作为脚本代码来执行
# 正则表达式符号

/…/ 代表一个模式的开始和结束

星号0位到多位,加号至少一位;问号至多一位【0位或一位】
^ 匹配字符串的开始
$ 匹配字符串的结束
\s 任何空白字符
\S 任何非空白字符
\d 匹配一个数字字符,等价于[0-9]
\D 【除了数字之外的任何字符,】等价于[^0-9]
\w 匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]
\W 任何非单字字符,等价于[^a-zA-z0-9_]
. 除了换行符之外的任意字符
{n} 匹配前一项n次
{n,} 匹配前一项n次,或者多次
{n,m} 匹配前一项至少n次,但是不能超过m次

星号匹配前一项0次或多次,等价于{0,}

加号匹配前一项1次或多次,等价于{1,}
? 【匹配前一项0次或1次】,也就是说前一项是可选的,等价于{0,1}
reg.test(var)
function checkPwd(){
var pwdCon = KaTeX parse error: Undefined control sequence: \d at position 42: … var reg=/^\̲d̲{6,12}/;
if (reg.test(pwdCon)==false) {
// if (!reg.test(pwdCon)) { 此行同上
$("#pwdMess").html(“输入密码长度必须为6-12位”);
$(".pwd").addClass(“bordercolor”);
return false;
}else{
$("#pwdMess").html("");
$("#pwdMess").removeClass(“bordercolor”);
return true;
}

        }

密码验证:一、密码必须是6~18位之间的数字,正则表达式为"1{6,18} " , 其 中 [ 0 − 9 ] 表 示 必 须 是 数 字 , 6 , 18 表 示 必 须 在 6 到 18 位 之 间 二 、 密 码 中 只 能 包 含 字 母 和 数 字 的 , 正 则 表 达 式 为 : " ( ? ! [ 0 − 9 ] + ",其中[0-9]表示必须是数字,{6,18}表示必须在6到18位之间 二、密码中只能包含字母和数字的,正则表达式为:"^(?![0-9]+ "[09]6,18618"(?![09]+)(?![a-zA-Z]+ ) [ 0 − 9 A − Z a − z ] 6 , 16 )[0-9A-Za-z]{6,16} )[09AZaz]6,16“其中(?![0-9]+ ) 表 示 排 除 掉 只 有 数 字 的 组 合 , ( ? ! [ a − z A − Z ] + )表示排除掉只有数字的组合,(?![a-zA-Z]+ )(?![azAZ]+)表示排除掉只有字母的组合,[0-9A-Za-z]表示必须有字母或数字。
三、密码中可以有(可有可没有)特殊字符的组合,正则表达式为”^(?![0-9]+ ) ( ? ! [ a − z A − Z ] + )(?![a-zA-Z]+ )(?![azAZ]+)[0-9A-Za-z\W]{6,18} " , 其 中 [ 0 − 9 A − Z a − z W ] 里 面 的 W 即 表 示 特 殊 字 符 四 、 密 码 中 必 须 包 含 字 母 、 数 字 和 特 殊 字 符 的 , 正 则 表 达 式 为   " ( ? ! [ 0 − 9 ] + ",其中[0-9A-Za-z\\W]里面的\\W即表示特殊字符 四、密码中必须包含字母、数字和特殊字符的,正则表达式为 "^(?![0-9]+ "[09AZazW]W "(?![09]+)(?![a-zA-Z]+ ) ( ? ! [ 0 − 9 a − z A − Z ] + )(?![0-9a-zA-Z]+ )(?![09azAZ]+)(?![0-9\W]+ ) ( ? ! [ a − z A − Z W ] + )(?![a-zA-Z\\W]+ )(?![azAZW]+)[0-9A-Za-z\W]{6,18} " , 其 中 ( ? ! [ 0 − 9 a − z A − Z ] + ",其中(?![0-9a-zA-Z]+ "(?![09azAZ]+)表示排除只有字母和数字的组合,(?![0-9\W]+ ) 表 示 排 除 只 有 数 字 和 特 殊 字 符 的 组 合 , ( ? ! [ a − z A − Z W ] + )表示排除只有数字和特殊字符的组合,(?![a-zA-Z\\W]+ )(?![azAZW]+)表示排除只有字母和特殊字符的组合
邮箱验证/2+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+KaTeX parse error: Undefined control sequence: \d at position 21: …证:(/^1[3456789]\̲d̲{9}/.test(phone))
身份证:/3\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}KaTeX parse error: Undefined control sequence: \d at position 8: |^[1-9]\̲d̲{5}[1-9]\d{3}((…/

1.验证用户名和密码:("4\w{5,15}KaTeX parse error: Undefined control sequence: \d at position 60: …; 2.验证电话号码:("^(\̲d̲{3,4}-)\d{7,8}")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;
3.验证手机号码(包含虚拟号码和新号码段):"^1([38][0-9]|4[5-9]|5[0-3,5-9]|66|7[0-8]|9[89])[0-9]{8}KaTeX parse error: Undefined control sequence: \d at position 19: …4.验证身份证号(15位):"\̲d̲{14}[[0-9],0-9x…");
6.只能输入由数字和26个英文字母组成的字符串:("5+ " ) ; 7. 整 数 或 者 小 数 : [ 0 − 9 ] + ( [ . ] [ 0 − 9 ] + ) 0 , 1 "); 7.整数或者小数:^[0-9]+([.][0-9]+){0,1} ")7.[09]+([.][09]+)0,1
8.只能输入数字:"6KaTeX parse error: Undefined control sequence: \d at position 18: … 9.只能输入n位的数字:"^\̲d̲{n}"。
10.只能输入至少n位的数字:"^\d{n,}KaTeX parse error: Undefined control sequence: \d at position 21: ….只能输入m~n位的数字:"^\̲d̲{m,n}"。
12.只能输入零和非零开头的数字:"^(0|[1-9][0-9]
)KaTeX parse error: Can't use function '\.' in math mode at position 30: …数的正实数:"^[0-9]+(\̲.̲[0-9]{2})?"。
14.只能输入有1~3位小数的正实数:"7+(.[0-9]{1,3})?KaTeX parse error: Undefined control sequence: \+ at position 20: …5.只能输入非零的正整数:"^\̲+̲?[1-9][0-9]*"。
16.只能输入非零的负整数:"^-[1-9][0-9] " 。 17. 只 能 输 入 长 度 为 3 的 字 符 : " . 3 "。 17.只能输入长度为3的字符:"^.{3} "17.3".3"。
18.只能输入由26个英文字母组成的字符串:"8+ " 。 19. 只 能 输 入 由 26 个 大 写 英 文 字 母 组 成 的 字 符 串 : " [ A − Z ] + "。 19.只能输入由26个大写英文字母组成的字符串:"^[A-Z]+ "19.26"[AZ]+"。
20.只能输入由26个小写英文字母组成的字符串:"9+KaTeX parse error: Expected group after '^' at position 13: "。 21.验证是否含有^̲%&&apos;,;=?“等字符:”[%&’,;=?KaTeX parse error: Can't use function '\u' in math mode at position 22: …。 22.只能输入汉字:"^[\̲u̲4e00-\u9fa5]{0,…"。
23.验证URL:"^http://([\w-]+.)+[\w-]+(/[\w-./?%&=]
)? " 。 24. 验 证 一 年 的 12 个 月 : " ( 0 ? [ 1 − 9 ] ∣ 1 [ 0 − 2 ] ) "。 24.验证一年的12个月:"^(0?[1-9]|1[0-2]) "24.12"(0?[19]1[02])“正确格式为:“01"~"09"和"10"~"12”。
25.验证一个月的31天:”^((0?[1-9])|((1|2)[0-9])|30|31)KaTeX parse error: Undefined control sequence: \- at position 61: …正则表达式:\\d{4}[年|\̲-̲|\.]\d{\1-\12}[…
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
31.匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
32.匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):10[a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
33.匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10 000 开始
34.匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字
35.匹配ip地址:([1-9]{1,3}.){3}[1-9]。
评注:提取ip地址时有用
36.匹配MAC地址:([A-Fa-f0-9]{2}😃{5}[A-Fa-f0-9]


  1. 0-9 ↩︎

  2. a-zA-Z0-9_- ↩︎

  3. 1-9 ↩︎

  4. a-zA-Z ↩︎

  5. A-Za-z0-9 ↩︎

  6. 0-9 ↩︎

  7. 0-9 ↩︎

  8. A-Za-z ↩︎

  9. a-z ↩︎

  10. a-zA-Z ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_45442261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值