PHP正则表达式验证

本文介绍了一个使用PHP实现的正则表达式验证函数,该函数可以用于验证各种类型的输入,包括用户名、密码、昵称、电话号码、电子邮件、URL、货币等。通过内置的正则表达式集合,该函数能够简化数据验证过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function regex($value, $rule)
{
    $validate = array(
        'username' => '/^\w{3,20}$/',
        'password' => '/^[A-Za-z0-9_]{6,20}$/',
        'nickname' => '/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]{1,10}$/u',
        'phone' => '/^1[134578]{1}[0-9]{9}$/',
        'require' => '/\S+/',
        'email' => '/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/',
        'url' => '/^http(s?):\/\/(?:[A-Za-z0-9-_]+\.)+[A-Za-z]{2,4}(?:[\/\?#][\/=\?%\-&~`@[\]\':+!\.#\w]*)?$/',
        'currency' => '/^\d+(\.\d+)?$/',
        'number' => '/^\d+$/',
        'zip' => '/^\d{6}$/',
        'integer' => '/^[-\+]?\d+$/',
        'double' => '/^[-\+]?\d+(\.\d+)?$/',
        'english' => '/^[A-Za-z]+$/',
        'money' => "/^([1-9][\d]{0,7}|0)(\.[\d]{1,2})?$/",
    );
    // 检查是否有内置的正则表达式
    if (isset($validate[strtolower($rule)]))
        $rule = $validate[strtolower($rule)];
		return preg_match($rule, $value) === 1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值