PHP与JavaScript常用正则表达式及验证代码

追风的人
追风的人
发布时间:2026-10-15 | 4人浏览过
原创

正则表达式在WEB开发中用于检测、查找和替换符合特定规则的字符串,如验证Email格式或抓取页面内容。本文汇总了PHP与JavaScript环境下常用的10类正则表达式(包括中文、Email、URL、邮编、IP及身份证等),并附带相应的验证代码示例,助您快速集成到项目中。

结果与目标

通过掌握以下正则表达式及代码逻辑,开发者可以迅速完成常见文本字段的合法性校验,减少手动判断逻辑的编写量,提高代码的可读性与执行效率。

PHP常用正则表达式及用法

PHP使用 preg_match 函数进行正则匹配。以下是常用场景的规则:

  1. 匹配正整数:/^[1-9]\d*$/
  2. 匹配非负整数(正整数+0):/^\d+$/
  3. 匹配中文:/^[\x{4e00}-\x{9fa5}]+$/u
  4. 匹配Email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
  5. 匹配网址URL:/(((f|ht){1}(tp|tps)://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)
  6. 匹配字母开头,5-16字符,仅含字母数字下划线:/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
  7. 匹配数字、字母、下划线及中文:/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u
  8. 匹配中国邮政编码:/^[1-9]\d{5}$/
  9. 匹配IP地址:/\b(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\b/
  10. 匹配中国大陆身份证:/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|x|X)$/

第1步:构建PHP验证逻辑

目的:演示如何在PHP中调用上述正则表达式进行字符串验证。
入口:PHP脚本文件。
动作定义正则模式字符串,使用 preg_match 函数传入模式和目标字符串。

$str = "中文啊";
$preg = "/^[\x{4e00}-\x{9fa5}]+$/u"; // 匹配中文
if(preg_match($preg,$str,$arr)){
    $msg = '匹配成功!';
}else{
    $msg = '匹配失败!';
}
echo $msg;

完成状态:当字符串仅包含有效汉字时输出“匹配成功”,否则为“匹配失败”。

JavaScript常用正则表达式及用法

JavaScript通常使用正则对象 RegExp 的 test() 方法或直接作为字符串字面量使用。常用规则如下:

  1. 匹配正整数:/^[0-9]*[1-9][0-9]*$/
  2. 匹配非负整数:/^\d+$/
  3. 匹配中文:/^[\u4e00-\u9fa5]/
  4. 匹配Email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
  5. 匹配网址URL:/^(f|ht){1}(tp|tps):\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/
  6. 匹配字母开头,5-16字符,仅含字母数字下划线:/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
  7. 匹配数字、字母、下划线及中文:/^[\u4e00-\u9fa5A-Za-z0-9_]+$/
  8. 匹配中国邮政编码:/^[1-9]\d{5}$/
  9. 匹配IP地址:/\b(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\b/
  10. 匹配中国大陆身份证:/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|x|X)$/

第2步:构建JS验证逻辑

目的:演示如何在JavaScript中利用正则表达式验证用户输入。
入口:HTML中的脚本标签或外部JS文件。
动作:定义测试变量,使用 .test() 方法返回布尔值。

var str = "abc@126.com";
var preg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; // 匹配Email
if(preg.test(str)){
    var msg = "匹配成功";
}else{
    var msg = "匹配失败!";
}
alert(msg);

完成状态:控制台弹窗显示“匹配成功”,表示邮箱格式符合预设的正则规则。

简要总结

以上便是PHP和JavaScript常用正则表达式及用法实例的详细内容,更多关于正则表达式验证技巧的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表