Search K
Appearance
👇公众号👇---👇 微信 👇
有缘人请我喝杯咖啡吧
👇 微信 👇---👇支付宝👇
Appearance
TIP
正则表达式是一种强大的工具,用于在字符串中搜索和匹配模式。在PHP中,正则表达式通常用于验证用户输入、搜索和替换文本等。本文将介绍一些在PHP中常用的正则表达式示例。
function validate_email($email_address)
{
if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $email_address))
{
return true;
}
return false;
}
//使用 FILTER_VALIDATE_EMAIL 过滤器
function validate_email($email_address)
{
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
return true;
}
return false;
}
function validate_mobile($mobile)
{
if(preg_match("/^1[3456789]\d{9}$/", $mobile))
{
return true;
}
return false;
}
function validate_phone($phone)
{
if(preg_match("/^0[0-9]{2,3}[-]?\d{7,8}$/", $phone))
{
return true;
}
return false;
}
function validate_url($url)
{
if(preg_match("/^(http|https):\/\/([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,3}(:[0-9]+)?(\/[a-zA-Z0-9_.-]+)*\/?$/", $url))
{
return true;
}
return false;
}
function validate_ip($ip)
{
if(preg_match("/^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$/", $ip))
{
return true;
}
return false;
}
function validate_id_card($idCardNumber)
{
// 身份证号长度为 15 位或 18 位
$pattern = '/^(?:\d{15}|\d{17}[\dxX])$/';
if (!preg_match($pattern, $idCardNumber)) {
return false;
}
// 15 位身份证号转换为 18 位
if (strlen($idCardNumber) === 15) {
$idCardNumber = substr($idCardNumber, 0, 6) . '19' . substr($idCardNumber, 6, 9);
}
// 计算校验位
$weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
$checkCodes = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
$sum = 0;
for ($i = 0; $i < 17; $i++) {
$sum += $weights[$i] * (int) $idCardNumber[$i];
}
$checkCodeIndex = $sum % 11;
// 验证校验位
$lastChar = strtoupper($idCardNumber[17]);
return $lastChar === $checkCodes[$checkCodeIndex];
}
//6-20位字符,必须以字母开头,只能包含数字、字母、下划线,不区分大小写
function validate_username($str)
{
if(preg_match("/^[a-zA-Z_][a-zA-Z0-9-_]{5,19}$", $str))
{
return true;
}
return false;
}
//6-16位字符,需包括数字与英文字母
function validate_password($str)
{
if(preg_match("/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/", $str))
{
return true;
}
return false;
}