国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > regex > 正文

正則表達式--QQ微信、優酷前端 郵箱正則表達式驗證 Bug

2020-01-20 22:16:28
字體:
來源:轉載
供稿:網友

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

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

上次我發現youku.com(優酷網)用戶注冊就有這個問題,見圖:

 

優酷網 注冊 bug

 

今天發現 QQ微信 也同樣有這個問題:

 

QQ微信 bug

 

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

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

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

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

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

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

-------------------

因為程序不能處理位置類型的數據,比如 2003年網絡大面積爆發 SQL 注入,就是一個經典案例。

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

-------------------

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

 

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>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威海市| 汾西县| 永胜县| 漯河市| 温泉县| 武鸣县| 云浮市| 遂宁市| 秦安县| 响水县| 仲巴县| 高尔夫| 昌江| 内丘县| 乐都县| 峨眉山市| 陇川县| 芒康县| 漳平市| 普安县| 湄潭县| 长沙市| 开化县| 浦北县| 界首市| 黑河市| 沙雅县| 石狮市| 自贡市| 休宁县| 全南县| 瑞昌市| 大洼县| 咸宁市| 南开区| 板桥市| 文昌市| 克拉玛依市| 克什克腾旗| 泸州市| 云安县|