2022-05-13 正则表达式的常见示例

本文介绍了JavaScript中正则表达式的10个常见应用,包括检测邮编、文件名、去除空格、邮箱验证、手机号码格式检查、身份证验证、中文字符检测、用户名合法性验证、隐藏手机号码以及敏感字替换等。通过实例代码,帮助理解正则表达式的使用技巧。

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

1.检测邮编
格式要求

邮编是正好六位数的数字

正则代码
var youbian = '114514';
var reg1 = /^\d{6}$/g;
//若不加上^和$,则多于6个数字也会判断为true
//==>前后加上^和%可以起到指定判断字符长度的效果
console.log(reg1.test(youbian));
2.检测文件名
格式要求

文件名是以特定后缀名为结尾的字符,前面

正则代码
var doc = 'newfile.TXT';
var reg2 = /\.(txt|doc)$/ig;//'.'要写成'\.'(转义)
console.log(reg2.exec(doc));Array(2)
3.去除空格
格式要求

正则代码
var str = " hello world ";
var reg3 = /\s+/g; //空格至少出现一次,全局匹配:选定所有空格
var reg = /^\s+/; // 以空格开头,至少出现一次:选定开头空格
var reg = /\s+$/; // 空格至少出现一次,以空格结尾:选定结尾空格
console.log(str.length, str.replace(reg3, ''), (str.replace(reg3, '')).length); 
//13 helloworld 10
4.检测邮箱
格式要求
    用户名是长度为3~18的数字字母下划线,
    接一个@符号,
    邮箱种类是2~8位的小写英文字母
    接一个.符号,
    常见后缀是com,cn,net等
正则代码
var mail = 'milky23333@gmail.com';
var reg4 = /[a-zA-Z0-9]{3,18}@[a-z]{2,8}\.(net|com|cn)/g;
console.log(reg4.test(mail));
5.检测手机号
格式要求
手机号是以1开头的11位数数字
正则代码
var tel = '18823458888';
var reg5 = /^1\d{10}$/;;
console.log(reg5.test(tel));
6.检测身份证
格式要求
6位数出生地编码+8位数出生日期+4位数识别信息组成的18个数字,
最后一位可能是X(罗马数字10)
正则代码
var id = '22113320001231666X';
var reg6 = /^[12345]{1}\d{16}(\d|X){1}$/;//出生日期还可正则
console.log(reg6.test(id));
7.检测中文字符
格式要求

中文的编码一般都是使用utf-8编码,其范围是[\u4e00-\u9fa5]

正则代码
//检测姓名:至少两个汉字,最多四个汉字
var name = "山本五十六";
var reg7 = /^[\u4E00-\u9FA5]{2,4}$/;
console.log(reg7.test(name));
8.检测用户名
格式要求

用户名是由数字字母下划线组成的,且不能已下划线为开头

正则代码
var user = 'Big_pig888';
var reg8 = new RegExp(/^[a-zA-Z_]{1}\w{4,11}/);
console.log(reg8.test(user));
9.替换手机号码
格式要求

把中间四位手机号码替换成****

正则代码
var phone = '13388886543';
var reg9 = new RegExp(/(\d{3})\d{4}(\d{4})/);
// (\d{4})被称为一个原子,把11个数字分成三组,两个原子,那么$1可以引用匹配到的原子1,即(\d{3}})
//$2可以匹配到原子2,也就是后四位数字,再把中间部分替换成星号即可
console.log(phone.replace(reg9, "$1****$2"));
//拓展一下:分成三个原子$1$2$3,那么替换部分写成$1****$3即可,因在分组例后四位数字属于原子3
//若仍是$1****$2可以发现输出结果变成了133****8888
//总结:$n一般是在字符串的替换函数replace中使用到, 替换满足正则条件的字符串。
知识点

1.原子:正则中()括起来的部分可以称为一个原子
2.$n:一般是在replace()中,用于替换满足正则条件的字符串

10.替换敏感字
格式要求

查找表单输入的内容是否包含敏感字,若有则替换成*号

正则代码
<form action="">
    <input type="text" placeholder="一口吃不成一个胖子" id="content" value="" /><br/>
    <input type="button" value="检测" id="check" /><br/>
</form>
<script>
    var chk = document.getElementById('check');
    chk.onclick = function() {
        var con = document.getElementById('content').value;
        var reg10 = /胖子/g;
        console.log(con.replace(reg, '**'));
    }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端OnTheRun

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

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

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

打赏作者

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

抵扣说明:

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

余额充值