PHP与JavaScript常用正则表达式及验证代码
正则表达式在WEB开发中用于检测、查找和替换符合特定规则的字符串,如验证Email格式或抓取页面内容。本文汇总了PHP与JavaScript环境下常用的10类正则表达式(包括中文、Email、URL、邮编、IP及身份证等),并附带相应的验证代码示例,助您快速集成到项目中。
结果与目标
通过掌握以下正则表达式及代码逻辑,开发者可以迅速完成常见文本字段的合法性校验,减少手动判断逻辑的编写量,提高代码的可读性与执行效率。
PHP常用正则表达式及用法
PHP使用 preg_match 函数进行正则匹配。以下是常用场景的规则:
- 匹配正整数:
/^[1-9]\d*$/ - 匹配非负整数(正整数+0):
/^\d+$/ - 匹配中文:
/^[\x{4e00}-\x{9fa5}]+$/u - 匹配Email:
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/ - 匹配网址URL:
/(((f|ht){1}(tp|tps)://)[-a-zA-Z0-9@:%_\+.~#?&//=]+) - 匹配字母开头,5-16字符,仅含字母数字下划线:
/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/ - 匹配数字、字母、下划线及中文:
/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u - 匹配中国邮政编码:
/^[1-9]\d{5}$/ - 匹配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/ - 匹配中国大陆身份证:
/^[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() 方法或直接作为字符串字面量使用。常用规则如下:
- 匹配正整数:
/^[0-9]*[1-9][0-9]*$/ - 匹配非负整数:
/^\d+$/ - 匹配中文:
/^[\u4e00-\u9fa5]/ - 匹配Email:
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/ - 匹配网址URL:
/^(f|ht){1}(tp|tps):\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/ - 匹配字母开头,5-16字符,仅含字母数字下划线:
/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/ - 匹配数字、字母、下划线及中文:
/^[\u4e00-\u9fa5A-Za-z0-9_]+$/ - 匹配中国邮政编码:
/^[1-9]\d{5}$/ - 匹配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/ - 匹配中国大陆身份证:
/^[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常用正则表达式及用法实例的详细内容,更多关于正则表达式验证技巧的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













