php正則表達式驗證郵箱
來源:程序員人生 發布時間:2013-12-27 13:01:44 閱讀次數:3849次
郵箱驗證代碼大都是不能驗證一個字母的域名或一個字母的用戶名,如:i@phpfensi.com 或 i@phpfensi.net,解決方法如下:
1,不做總長度判斷,長度判斷可以自己加上;2,支持.net.cn,.com.cn這樣的域名后綴;3,郵箱名部分以字母或者數字開頭,中間可以有“-”與“_”符號;4,域名部分以字母或者數字開頭,中間可以有“-”與“_”符號;
PHP 郵箱驗證正則表達式,代碼如下:
preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email );
實例代碼如下:
-
-
-
-
- echo '<meta charset="utf-8" />';
- function c_email($email){
- $reg='/^([a-zA-Z0-9]{1,20})(([_-.])?([a-zA-Z0-9]{1,20}))*@([a-zA-Z0-9]{1,20})(([-_])?([a-zA-Z0-9]{1,20}))*(.[a-z]{2,4}){1,2}$/';
- if(preg_match($reg,$email))
- return true;
- return false;
- }
- $email = 'mail@lizhong.me';
- $check_result = c_email($email);
- if($check_result){
- echo '郵箱格式正確';
- }else{
- echo '郵箱格式錯誤';
- }
郵箱驗證類,代碼如下:
- <?php
- class Reg
- {
- public $mail;
- function __construct()
- {
- $this->mail = $_POST["mail"];
- }
- function RegMail()
- {
- if(preg_match("/^[0-9a-zA-Z]+(?:[_-][a-z0-9-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*.[a-zA-Z]+$/i", $this->mail))
- {
- echo "<script language='javascript'>alert('驗證成功')</script>";
- }
- else
- {
- echo "<script language='javascript'>alert('驗證失敗')</script>";
- }
- }
- }
- $r = new Reg();
- $r->RegMail();
- $strings = "abc@163.com";
- if(preg_match("/^[0-9a-zA-Z]+(?:[_-][a-z0-9-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*.[a-zA-Z]+$/i",$strings))
- {
- echo"驗證成功!是郵箱地址。";
- }
- else
- {
- echo"不是郵箱地址!";
- }
- ?>
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈