正则表达式

本文深入解析了正则表达式的各种符号及其含义,通过实例展示了如何使用正则表达式进行电话号码、邮箱地址等常见格式的验证,涵盖从基础到进阶的全面内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、正则表达式符号及意义

非打印字符意义
\s匹配空字符
\S匹配非空字符
特殊字符意义
^代表正则表达式的开始位置 如果匹配自身:\ ^
$正则表达式的结尾 如果要匹配自身:\ $
( )在正则表达式里面 代表子表达式的开始和结尾
*匹配子表达式零次或多次 如果匹配自身:\ *
+匹配子表达式一次或多次 如果匹配自身:\ +
?匹配前面的子表达式零次或一次 如果匹配自身:\ ?
.匹配除\ n 之外的单字符 例如b.g 如果匹配自身:\ .
[ ]匹配正则里面的开始和结尾 一般给里面数值或字符 放匹配的值 如果匹配自身:\ [
{ }限定前面的表达式的次数 参数:n n, n,m
l单或 两者随意

二、正则的使用(举例)

1.验证电话号码
/* 11位  1  3 4 5 7 8   9 */
var s=/^[1]{1}[3,4,5,7,8]{1}[0-0]{9}$/;
var tel="13789648943";

验证方法:match 验证、reg验证

/*match 方法验证 :如果正确返回当前的值  如果错误返回null*/
alert(tel.match(s));

/*RegExp 对象验证 :正确返回true  错误返回false*/
var reg=new RegExp(s);
alert(reg.test(tel));
邮箱正则
/*sina  qq   163 */
var e=/^[0-9a-zA-Z_]{5,}@((qq)|(sina)|(163))\.(con)$/;
var email="lww_1122@163.com";
alert(email.match(e));

var r=new RegExp(e);
alert(r.test(email));
匹配空 替换空
var s="a b c";
/* 判断有没有空值:  /\s/g  g:全局 在正则中表示匹配多次 */
console.log(s.replace(/\s/g,""));
var value="";
console.log(value.match(/\S/g));
判断一个字符串是否是数字
var s="1234";
var a=/^\d*$/;  /* \d:纯数字 */
console.log(s.match(a));
身份证正则:xxxxxx yyyy MM dd 375 0
/* xxxxxx:[1-9]\d{5}
yy:(18|19|([23]\d))   
yy:\d{2}            1800-2399年
MM:((0[1-9])|(10|11|12))
dd:(([0-2][1-9])|10|20|30|31)
  \d{3}
  [0-9Xx] */

var s=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx] $/;
var a="61013119990606234x";
alert(a.match(s));

正则练习:

var a="bacmd"
var m=/[a-z]+/;
alert(a.match(m));
var a=/[23]/;
var m="3";
console.log(m.match(a));

网上也有正则生成器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值