常用驗證正則:用戶名、密碼、郵箱、手機號、身份證(PHP和JavaScript)


日常開發中,常常會用到一些簡單常用的正則表達式,用於判斷一些常見的情況

下邊,就列出五種(驗證用戶名,密碼強度,郵箱格式,手機號格式和身份證格式)常見的情況

分成PHP版本和JavaScript兩個版本。

其實,兩種語言的正則是完全一樣的,只是相關函數的使用略有不同。

 

PHP版本

<?php
// 驗證用戶名是否合法,必須是以字母開頭,只能包含字母數字下划線和減號,4到16位
function checkUserName($username)
{
    if (preg_match('/^[A-Za-z]{1}[A-Za-z0-9_-]{3,15}$/', $username)) {
        return 1;
    } else {
        return 0;
    }
}

echo checkUserName('abcde12345-_a');

// 驗證密碼強度,6-16位,,至少有一個數字,一個大寫字母,一個小寫字母和一個特殊字符,四個任意組合
function checkPassword($password)
{
    if (preg_match('/(?=^.{6,16}$)(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*]).*$/', $password)) {
        return 1;
    } else {
        return 0;
    }
}

echo checkPassword('CCCc@#1234567890');

// 驗證郵箱是否合法,必須有@,前邊最少2個字符,字母或數字開頭,域名部分最少1位,后綴可以是一級也可以是二級,最少兩位
function checkEmail($email)
{
    $email = strtolower($email);// 全部轉小寫(郵箱不區分大小寫)
    if (preg_match('/^[a-z0-9]{1}[a-z0-9_-]{1,}@[a-z0-9]{1,}(\.[a-z]{2,})*\.[a-z]{2,}$/', $email)) {
        return 1;
    } else {
        return 0;
    }
}

echo checkEmail('abc_def-g@abc.com.cn');

// 驗證手機號是否合法
function checkPhone($phone)
{
    if (preg_match('/^1[345678]{1}\d{9}$/', $phone)) {
        return 1;
    } else {
        return 0;
    }
}

echo checkPhone('15512345678');

// 驗證身份證號是否合法
// 身份證號:前兩位表示地區,所以第一位不可能是0,而第7、8兩位是年份的前兩位,也不可能是0,最后一位除了10個數字以外還可能是X|x
function checkIdCard($idcard)
{
    if (preg_match('/^[1-9]{1}\d{5}[1-9]{2}\d{9}[Xx0-9]{1}$/', $idcard)) {
        return 1;
    } else {
        return 0;
    }
}

echo checkIdCard('210801199010012031');      

 

JavaScript版本

// 驗證用戶名是否合法,必須是以字母開頭,只能包含字母數字下划線和減號,4到16位
function checkUserName(username)
{
    if (/^[A-Za-z]{1}[A-Za-z0-9_-]{3,15}$/.test(username)) {
        return 1;
    } else {
        return 0;
    }
}

console.log(checkUserName('abcde12345-_a'));

// 驗證密碼強度,6-16位,,至少有一個數字,一個大寫字母,一個小寫字母和一個特殊字符,四個任意組合
function checkPassword(password)
{
    if (/(?=^.{6,16}$)(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*]).*$/.test(password)) {
        return 1;
    } else {
        return 0;
    }
}

console.log(checkPassword('CCCc@#1234567890'));

// 驗證郵箱是否合法,必須有@,前邊最少2個字符,字母或數字開頭,域名部分最少1位,后綴可以是一級也可以是二級,最少兩位
function checkEmail(email)
{
    email = email.toLowerCase();// 全部轉小寫(郵箱不區分大小寫)
    if (/^[a-z0-9]{1}[a-z0-9_-]{1,}@[a-z0-9]{1,}(\.[a-z]{2,})*\.[a-z]{2,}$/.test(email)) {
        return 1;
    } else {
        return 0;
    }
}

console.log(checkEmail('abc_def-g@abc.com.cn'));

function checkPhone(phone){ 
    
    if (/^1[34578]\d{9}$/.test(phone)) { 
        return 1; 
    } else {
        return 0;
    }
}

console.log(checkPhone('15512345678'));

// 驗證身份證號是否合法
// 身份證號:前兩位表示地區,所以第一位不可能是0,而第7、8兩位是年份的前兩位,也不可能是0,最后一位除了10個數字以外還可能是X|x
function checkIdCard(idcard)
{
    if (/^[1-9]{1}\d{5}[1-9]{2}\d{9}[Xx0-9]{1}$/.test(idcard)) {
        return 1;
    } else {
        return 0;
    }
}

console.log(checkIdCard('210801199010012031'));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM