第23章 PHP 正则 常用实战场景大全
一、手机号精准校验
规则
以1开头,第二位3-9,后面9位数字,总共11位。
php
$phone = '13612345678';
$preg = '/^1[3-9]\d{9}$/';
if (preg_match($preg, $phone)) {
echo '手机号格式正确';
} else {
echo '手机号格式错误';
}
二、邮箱格式校验
基础通用邮箱规则
php
$email = 'test@qq.com';
$preg = '/^\w+@\w+(.\w+)+$/';
preg_match($preg, $email) ? echo '邮箱正确' : echo '邮箱错误';
三、用户名格式校验
规则:4–16位,字母、数字、下划线,不能纯数字
php
$user = 'user123';
$preg = '/^[a-zA-Z]\w{3,15}$/';
四、密码强度校验
6–20位,必须包含字母+数字
php
$pwd = 'abc123456';
$preg = '/^(?=.[a-zA-Z])(?=.\d).{6,20}$/';
五、匹配纯中文
只能输入汉字,无符号字母数字
php
$name = '张三';
$preg = '/^[\u4e00-\u9fa5]{2,6}$/u';
六、提取网页标签内容
提取所有div标签里的内容
php
$html = '标题1标题2';
preg_match_all('/(.*?)/s', $html, $res);
print_r($res[1]);
七、过滤HTML所有标签
把所有 标签清空
php
$str = '我是内容';
$new = preg_replace('//s','',$str);
echo $new;
八、替换多个连续空格为单个
php
$str = 'PHP 正则 教程';
$new = preg_replace('/\s+/',' ',$str);
echo $new;
九、常用正则易错避坑
1. 不加 ^ $ 会包含匹配,校验格式必须加首尾限制
2. 匹配中文、UTF8 必须加修饰符 u
3. 抓取标签内容一定要用 .*? 非贪婪
4. . 默认不匹配换行,加 s 修饰符生效
5. 复杂规则多用 () 分组、 | 多选分支
十、本章核心总结
日常开发高频场景:手机号、邮箱、用户名、密码、中文、HTML标签提取、敏感词过滤、空格整理
全部用 PHP preg_ 系列函数搞定,是表单校验和爬虫必备技能。

请登录后发表评论
注册
停留在世界边缘,与之惜别