php正則匹配郵箱
Ⅰ php正則表達式:一個匹配郵箱的正則表達式問題
尼瑪,你這個正則前面那個怎麼可能匹配得到?
我就說我看了那麼久都看不出來你是怎麼匹配到第一個的,
我這測了一下,瞎了我的眼啊。。
你自己看看:
<?php
$mid_data="[email protected]";
preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$mid_data,$matched);
echo "ok:".$matched[0];
$mid_data1="[email protected]";
preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$mid_data1,$matched);
echo "<br>ok2:".$matched[0];
?>
這是結果:
ok:[email protected]
ok2:
Ⅱ php正則表達式,去掉郵箱中間的數並返回新的郵箱地址應該怎麼寫
最簡單的方法:
function change_email($email) {
$email= substr($email, 0, 11);
$email= $email."@txt.ice.com";
return $email;
}
Ⅲ php 如何用正則表達式匹配一個郵箱格式 郵箱要求只能出現大小寫字母 一個@ 還可以出現連字元-和
$pattern="/^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/i";
以上為php代碼
正常情況下,郵箱不應該支持單引號的
Ⅳ php正則表達式郵箱
你這個正則是能匹配的,匹配到這樣這部分 '[email protected]'
前面部分的1412424545645454不匹配,所以還是合法的。
你想要匹配一整段正確可以改成這樣
$a='/^([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})$/';
Ⅳ 字元串:必須為數字,6位 電子郵箱:格式 手機號 用php正則驗證實現
PHP常用表達式用法
1.匹配正整數:/^[1-9]\d*$/
2.匹配非負整數(正整數+0):/^\d+$/
3.匹配中文:/^[\x{4e00}-\x{9fa5}]+$/u
4.匹配Email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
5.匹配網址URL:(((f|ht){1}(tp|tps)://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)
6.匹配字母開頭,5-16字元,字母數字下劃線:/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
7.匹配數字,字母,下劃線,中文:/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u
8.匹配中國郵政編碼:/^[1-9]\d{5}$/
9.匹配IP地址:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/
10.匹配中國大陸身份證:/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|x|X)$/
Ⅵ php正則表達式怎麼驗證郵箱格式
郵箱驗證正則:
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
直接用preg_match ()就行了
推薦直接用bootstrapvalidate,更方便。
Ⅶ PHP正則表達式如何檢測現有的正確郵箱域名後綴
這個是IT群里的朋友!我不去群里了,在這里幫你把問題解決了吧!
其實嚴格說來,正則表達式只是一個模型匹配,所以直接使用模型匹配時我們有一個高通原理,也就是說匹配出來的內容是要大於你所需要的內容。就比此題來說,後邊可以匹配任何一個合規則的內容,而不可能精確地直接是你想要的內容——這就是高通,如果非要匹配到你想要的內容,使用正則運算有時是非常不合適的!所以這里不建議你使用這方式,或者是部分使用這種方式的形式。
高通就是通過你不全是你想要的,但你想要的一定全在里邊。
那麼,為什麼不考慮使用ajax的方式呢?後台自己設計一會資料庫,@前半段使用正則表這式,扣後半段直接使用數據存儲的內容,這樣可以精確到任何一個你想要的。
因為這里你想要的與不想要的其實也很模糊,你也不知道ckk這個域名在以後是不會被啟用!那麼你可以使用資料庫方式,由管理員自由添加!不用去修改那將來的表達式的!
但事實上很少人用這種方式——他們都在使用注冊時郵箱認證的方式,也就是說,發到你郵箱里一封信,輔助你完成注冊,這種情況雖然是高通,其他實他只是方便用戶能輸入正確,而不是要的確信數據,任何設計都要記著這句話——任何客戶端的信息都是不可信的!就算用JS完成了正則,那麼如果對方有意屏掉您的JS這十分容易的!所以你的正則根本不是用來驗證,而是方便用戶。
正是這種原因,高通的理由也是其存在的一個原因!就算使用了我說的資料庫,利用ajax來檢查,那麼別人照樣可以讓你的ajax不工作,而且,不是伺服器通過了,郵箱就一定有人注冊的!所以從這方面上來講,資料庫的實現意義也不大!
根據js的特點,客戶端的驗證沒有必要太這於麻煩,就算是服務端的驗證,建議你的也只採用這種方式即可。沒有使用資料庫的必要的——這個代價與達到的效果是不成比例的!
說完了,其實等於我也不解決!
Ⅷ PHP 幫忙寫個正則表達式 判斷QQ郵箱格式
$qqmail='[email protected]';
if(preg_match('|^[1-9]d{4,10}@qq.com$|i',$qqmail)){
echo$qqmail,'是qq郵箱';
}else{
echo$qqmail,'不是qq郵箱';
}
Ⅸ 對php中正則表達式驗證郵箱代碼的疑惑,求高人指點
^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$
這個正則表達式的寫法是正確的,但是郵箱地址最後小數點後面的字母只能是2或者3位,比如com或者cn,你的例子aaaaaa太多了,呵呵
[a-z]{2,3}$ 這個表示結尾只能是2或者3位字母,不是至少2位
z後面那個減號,那個表示中橫杠,比如用戶名字是aaa-aaa
如果用你舉得例子
可以寫成
^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{1,20}$
這樣表示 結尾的字母可以是1到20位