JavaScript 常用正则表达式验证规则汇总
本文整理了一系列 JavaScript 中常用的正则表达式,涵盖数字、邮箱、URL、电话、身份证及特殊字符等常见场景的验证规则。通过具体的代码示例,帮助开发者快速实现前端表单数据的格式校验与合法性检查,提升代码复用率。
JavaScript 常用正则表达式验证规则
<script type="text/javascript">
function validate(){
var reg = new RegExp("^[0-9]*$");
var obj = document.getElementById("name");
if(!reg.test(obj.value)){
alert("请输入数字!");
}
if(!/^[0-9]*$/.test(obj.value)){
alert("请输入数字!");
}
}
以下集合整理了一系列用于验证各类数据格式的正则表达式。
匹配纯数字:^[0-9]*$
匹配恰好 n 位的数字:^\d{n}$
匹配至少 n 位的数字:^\d{n,}$
匹配 m 到 n 位之间的数字:^\d{m,n}$
匹配以零或非零数字开头的数值:^(0|[1-9][0-9]*)$
匹配保留两位小数的正实数:^[0-9]+(.[0-9]{2})?$
匹配保留 1 至 3 位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
匹配非零的正整数:^\+?[1-9][0-9]*$
匹配非零的负整数:^\-[1-9][0-9]*$
匹配非负整数(包含正整数和 0):^\d+$
匹配非正整数(包含负整数和 0):^((-\d+)|(0+))$
匹配长度恰好为 3 的字符串:^.{3}$
匹配仅由 26 个英文字母组成的字符串:^[A-Za-z]+$
匹配仅由 26 个大写英文字母组成的字符串:^[A-Z]+$
匹配仅由 26 个小写英文字母组成的字符串:^[a-z]+$
匹配由数字和 26 个英文字母混合组成的字符串:^[A-Za-z0-9]+$
匹配由数字、26 个英文字母或下划线组成的字符串:^\w+$
匹配用户密码:^[a-zA-Z]\w{5,17}$。正确格式要求以字母开头,长度在 6 到 18 之间,且只能包含字符、数字和下划线。
检测是否包含 ^%&',;=?$\" 等特殊字符:[^%&',;=?$\x22]+
匹配汉字:^[\u4e00-\u9fa5],{0,}$
匹配 Email 地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
匹配 Internet URL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
匹配电话号码:^(\d3,4|\d{3,4}-)?\d{7,8}$。正确格式示例包括:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-
XXXXXXXX,XXXXXXX,XXXXXXXX。
匹配身份证号(15 位或 18 位数字):^\d{15}|\d{}18$
匹配一年中的 12 个月:^(0?[1-9]|1[0-2])$。正确格式为“01”至“09”以及“1”和“12”。
匹配一个月中的 31 天:^((0?[1-9])|((1|2)[0-9])|30|31)$。正确格式为 01、09 和 1、31。
匹配整数:^-?\d+$
匹配非负浮点数(正浮点数加 0):^\d+(\.\d+)?$
匹配正浮点数:^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
匹配非正浮点数(负浮点数加 0):^((-\d+(\.\d+)?)|(0+(\.0+)?))$
匹配负浮点数:^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
匹配浮点数:^(-?\d+)(\.\d+)?$
补充说明:最新手机号码与固话号码的正则表达式。
1、手机号码,支持 17 开头。
/^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
2、固话号码,支持 400 或 800 开头。
/^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
3、手机号码与固话号码的综合匹配。
/^(0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8})|(400|800)([0-9\\-]{7,10})|(([0-9]{4}|[0-9]{3})(-| )?)?([0-9]{7,8})((-| |转)*([0-9]{1,4}))?$/
以上介绍的是 JavaScript 正则表达式判断有效数的实例代码,希望能对读者有所帮助。如有任何疑问,欢迎留言交流,小编会及时回复。同时感谢大家对本站网站的支持!
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
