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

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

正则表达式在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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。