亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    正則表達(dá)式–QQ微信、優(yōu)酷前端 郵箱正則表達(dá)式驗證 Bug

    拿郵箱驗證來說,網(wǎng)上絕大部分人寫的郵箱驗證正則表達(dá)式代碼都不能驗證這郵箱:

    i@julying.com,也不能驗證 xxxxxx@i.com 。

    上次我發(fā)現(xiàn)youku.com(優(yōu)酷網(wǎng))用戶注冊就有這個問題,見圖:

     

    正則表達(dá)式--QQ微信、優(yōu)酷前端 郵箱正則表達(dá)式驗證 Bug

     

    今天發(fā)現(xiàn) QQ微信 也同樣有這個問題:

     

    正則表達(dá)式--QQ微信、優(yōu)酷前端 郵箱正則表達(dá)式驗證 Bug

     

    他們都不能驗證一個字母的域名或一個字母的用戶名。

    我認(rèn)為,他們絕不是故意不讓這樣的用戶注冊,而是這樣:

    很久之前,最初寫正則的程序員偷懶了,沒有寫 這樣情況的正則表達(dá)式驗證,

    他當(dāng)時可能覺得這樣的正則比較麻煩,而且可能這樣的郵箱實在太少了,

    沒有聽說一個字母的頂級域名提供郵箱服務(wù),也沒有見那個郵箱的用戶名是一個字母的,于是就沒寫。

    而后來的程序員就一直沿用這個代碼。。。。。

    ——————-

    因為程序不能處理位置類型的數(shù)據(jù),比如 2003年網(wǎng)絡(luò)大面積爆發(fā) SQL 注入,就是一個經(jīng)典案例。

    正如比爾蓋茨前輩說:用戶的所有輸入都是有害的,程序員要盡可能的驗證所有可能性,否則,漏掉的可能性就是一個潛在的危機(jī)。

    ——————-

    我順便寫一個完整的郵箱驗證正則表達(dá)式吧,以后不要搞這種錯誤,讓人很郁悶。。

     

    PHP 郵箱驗證正則表達(dá)式:

    preg_match(“/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i”,$email );

    如果需要更加完善、嚴(yán)格的驗證,修改這個正則表達(dá)式即可。
    PHP 郵箱驗證正則表達(dá)式 新手實例:

    復(fù)制代碼 代碼如下:
    <?php
    function isEmail($email){
    if(preg_match(“/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i”,$email )){
    return ‘是郵箱’;
    } else{
    return ‘不是郵箱’;
    }
    }
    ?>

    ——————————————————————————–
    Javascript(js) 郵箱驗證正則表達(dá)式:
    myreg = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,4}$/;
    這個可以驗證 形如:i@julying.com ,i@i.com 這種郵箱
    ——————————————————————————–
    Javascript(js) 郵箱驗證正則表達(dá)式 新手實例:

    復(fù)制代碼 代碼如下:
    <script type=”text/javascript”>
    function isEmail(val){
    var myreg = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,4}$/;
    if(!myreg.test(val))
    return ‘不是郵箱’;
    return ‘是郵箱’;
    };
    alert( isEmail(‘i@julying.com’) );
    </script>

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號