拿郵箱驗證來說,網(wǎng)上絕大部分人寫的郵箱驗證正則表達式代碼都不能驗證這郵箱:
i@julying.com,也不能驗證 xxxxxx@i.com 。
上次我發(fā)現(xiàn)youku.com(優(yōu)酷網(wǎng))用戶注冊就有這個問題,見圖:
今天發(fā)現(xiàn) QQ微信 也同樣有這個問題:
他們都不能驗證一個字母的域名或一個字母的用戶名。
我認為,他們絕不是故意不讓這樣的用戶注冊,而是這樣:
很久之前,最初寫正則的程序員偷懶了,沒有寫 這樣情況的正則表達式驗證,
他當時可能覺得這樣的正則比較麻煩,而且可能這樣的郵箱實在太少了,
沒有聽說一個字母的頂級域名提供郵箱服務,也沒有見那個郵箱的用戶名是一個字母的,于是就沒寫。
而后來的程序員就一直沿用這個代碼。。。。。
-------------------
因為程序不能處理位置類型的數(shù)據(jù),比如 2003年網(wǎng)絡(luò)大面積爆發(fā) SQL 注入,就是一個經(jīng)典案例。
正如比爾蓋茨前輩說:用戶的所有輸入都是有害的,程序員要盡可能的驗證所有可能性,否則,漏掉的可能性就是一個潛在的危機。
-------------------
我順便寫一個完整的郵箱驗證正則表達式吧,以后不要搞這種錯誤,讓人很郁悶。。
PHP 郵箱驗證正則表達式:
preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email );
如果需要更加完善、嚴格的驗證,修改這個正則表達式即可。
PHP 郵箱驗證正則表達式 新手實例:
復制代碼 代碼如下:
?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) 郵箱驗證正則表達式:
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) 郵箱驗證正則表達式 新手實例:
復制代碼 代碼如下:
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>
您可能感興趣的文章:- JavaScript 正則表達式使用詳細參數(shù)
- JavaScript 正則表達式解析
- javascript RegExp對象(正則表達式)
- JavaScript 正則表達式 驗證整數(shù)、小數(shù)、實數(shù)、有效位小數(shù)最簡單
- JavaScript 表單驗證正則表達式大全[推薦]
- JavaScript RegExp 正則表達式對象詳細說明
- JavaScript基于正則表達式的數(shù)字判斷函數(shù)
- 重溫JavaScript中的正則表達式 js學習筆記
- javascript中匹配價格的正則表達式
- javascript中使用正則表達式實現(xiàn)刪除字符串中的前后空格
- 經(jīng)典Javascript正則表達式[優(yōu)質(zhì)排版]
- JavaScript正則表達式驗證中文實例講解
- javascript正則表達式基礎(chǔ)篇
- javascript中使用正則表達式進行字符串驗證示例
- 如何使用JavaScript和正則表達式進行數(shù)據(jù)驗證
- javascript中正則表達式反向引用示例介紹
- java正則表達式表單驗證類工具類(驗證郵箱、手機號碼、qq號碼等)
- 如何實現(xiàn)正則表達式的JavaScript的代碼高亮
- JavaScript中的正則表達式使用及驗證qq號碼的正則