PHP正则表达式验证手机号、邮箱、身份证号码、姓名
2022-06-17

PHP验证手机号正则表达式代码

$phone='12345678910;
$preg_phone='/^1[345789]\d{9}$/ims';
if(preg_match($preg_phone,$phone)){
    echo 1;
 }else{
    echo 0;
 }

PHP验证邮箱地址正则表达式代码

$email='123456@qq.com';
$preg_email='/^[a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*@([a-zA-Z0-9]+[-.])+([a-z]{2,5})$/ims';
if(preg_match($preg_email,$email)){
    echo 1;}else{
    echo 0;}

PHP验证身份证号正则表达式代码

在 PHP 中,可以使用正则表达式来验证  18 位身份证号码的格式是否正确。下面是一个示例代码:

$id_number = "440981198807260011";
if (preg_match("/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/", $id_number)) {
    echo "身份证格式正确";
} else {
    echo "身份证格式不正确";
}
 如果是 15 位身份证号码,可以使用下面的正则表达式:

$id_number = "440981198807261";
if (preg_match("/^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$/", $id_number)) {
    echo "身份证格式正确";
} else {
    echo "身份证格式不正确";
}

注意:这里只是对身份证号中的数字与位数进行的验证,如果想要严格的验证,请参考本博客的关于身份证号码验证的其它文章。

PHP验证是否只包含中文或英文的正则表达式代码

$name='mochu';
$preg_name='/^[\x{4e00}-\x{9fa5}]{2,10}$|^[a-zA-Z\s]*[a-zA-Z\s]{2,20}$/isu';
if(preg_match($preg_name,$name)){
    echo 1;}else{
    echo 0;}

PHP验证QQ号码的正则表达式代码

$QQ='';$preg_QQ='/^\d{5,12}$/isu';
if(preg_match($preg_QQ,$QQ)){
    echo 1;}else{
    echo 0;}

PHP验证是否微信号的正则表达式代码

$wechat='cdxcfvsd515d5___1';
$preg_wechat='/^[_a-zA-Z0-9]{5,19}+$/isu';
if(preg_match($preg_wechat,$wechat)){
    echo 1;}else{
    echo 0;}

PHP验证是否特殊符号的正则表达式代码

$spacial='^%**Y*(';
$preg_spacial="/\/|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\+|\{|\}|\:|\<|\>|\?|\[|\]|\,|\/|\;|\\' | \`|\-|\=|\\\|\|/isu";
if(preg_match($preg_spacial,$spacial)){
    echo 1;}else{
    echo 0;}

PHP验证是否银行卡号码正则表达式代码

$bankcard='';
$preg_bankcard='/^(\d{15}|\d{16}|\d{19})$/isu';
if(preg_match($preg_card,$bankcard)){
    echo 1;}else{
    echo 0;}

PHP验证固定号码的正则表达式

$call='02312345678';
$preg_call='/^(0\d{2,3})?(\d{7,8})$/ims';
if(preg_match($preg_call,$call)){
    echo 1;}else{
    echo 0;}