php正则验证input只能输入手机号、座机号、邮箱

1、PHP验证字符串,验证联系电话和邮箱:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// 验证联系电话
$isMob = "/^1[34578]{1}\d{9}$/" ;
 
$isTel = "/^([0-9]{3,4}-)?[0-9]{7,8}$/" ;
 
$phone  '13088568856' ;
 
if (!preg_match( $isMob , $phone ) && !preg_match( $isTel , $phone )){
 
     echo  '联系电话不正确' ;
 
} else {
 
     echo  '联系电话正确' ;
    
}
 
 
// 验证邮箱方法1
$isEmail  '/^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/'
 
$email  '28126649@qq.com' ;
 
if (!preg_match( $isEmail , $email )){
  
     echo  '邮箱不正确' ;
  
} else {
  
     echo  '邮箱正确' ;
      
}
 
// 验证邮箱方法1
/*
     利用filter_var函数验证。
     filter_var可验证:
     IP 、邮箱、URL地址。
 
     具体用法可查看PHP手册
  */
$email  '28126649@qq.com' ;
if (!filter_var( $email ,FILTER_VALIDATE_EMAIL)){
     echo  '邮箱不正确' ;
} else {
     echo  '邮箱正确' ;
}


2、JS验证邮箱格式是否正确:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//邮箱验证
function  email(){
 
     var  email  = $( "input[name='email']" ).val();
     
     var  pattern = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; 
     
     if (email ==  "" ){
     
         layer.tips( '邮箱不能为空!' , $( "input[name='email']" ) ,{
         
             tips: [3,  'red' ],
             
             time: 2000
             
         });
         
         return  false ;
         
     } else  if  (!pattern.test(email)) {
        
         layer.tips( '请输入正确的邮箱地址!' , $( "input[name='email']" ) ,{
         
             tips: [3,  'red' ],
             
             time: 2000
             
         });
         
         return  false ;
         
     } else {
     
         return  true ;
     }
     
}

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

  1. <?php  
  2. /**  
  3.  * php中验证手机号  
  4.  * @param $mobile  
  5.  * @return bool  
  6.  */  
  7.     function is_mobile($mobile){  
  8.         $chars = "/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$/";  
  9.         if (preg_match($chars, $mobile)){  
  10.             return true;  
  11.         }else{  
  12.             return false;  
  13.         }  
  14.     }  
  15.   
  16.   
  17. /**  
  18.  * js中验证手机号  
  19.  * @param mobile  
  20.  * @return bool  
  21.  */  
  22.    function is_mobile(mobile){  
  23.         var chars = /^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$/;  
  24.         if (chars.test(mobile)){  
  25.             return true;  
  26.         }else{  
  27.             return false;  
  28.         }  
  29.     }  
  30.       
  31.     /**  
  32.      * php中验证输入的邮件地址是否合法  
  33.      * @param   string      $email      需要验证的邮件地址  
  34.      * @return bool  
  35.      */  
  36.     function is_email($email)  
  37.     {  
  38.         $chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";  
  39.         if (strpos($email, '@') !== false && strpos($email, '.') !== false)  
  40.         {  
  41.             if (preg_match($chars, $email))  
  42.             {  
  43.                 return true;  
  44.             }  
  45.             else  
  46.             {  
  47.                 return false;  
  48.             }  
  49.         }  
  50.         else  
  51.         {  
  52.             return false;  
  53.         }  
  54.     }  
  55.   
  56.   
  57. /**  
  58.  * js验证输入的邮件地址是否合法  
  59.  * @param email  
  60.  * @return bool  
  61.  */  
  62. function is_email(email){  
  63.     var chars = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;  
  64.         if (chars.test(email)){  
  65.             return true;  
  66.         }else{  
  67.             return false;  
  68.         }  
  69.     }  
  70.   
  71. /**  
  72.  * js验证身份证号码  
  73.  * @param card  
  74.  * @returns {boolean}  
  75.  */  
  76. function isCardNo(card)  
  77.     {  
  78.         // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X  
  79.         var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;  
  80.         if(reg.test(card) === false)  
  81.         {  
  82.             alert("身份证输入不合法");  
  83.             return  false;  
  84.         }  
  85.         return true;  
  86.     }  
  87.   
  88.     注意:js中的正则不能写在 "" 中;  
  89.  ?>

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

1.先说匹配手机号:

       正常的正则表达式为:

              /1[3458]{1}\d{9}/

      但是如果是中国电信以17开头的就匹配不到,所以应该修正为

             /1[34578]{1}\d{9}/

2.再是邮箱

       之前用正则表达式为:

             /(([a-z0-9]*[-_]?[a-z0-9]+[-_.]?)*@([a-z0-9]*[-_]?[a-z]+)+[\.][a-z]{2,3}([\.][a-z]{1,3})?)

       如果遇到***@vip.163.com就匹配不到,所以修正为

            /(([a-z0-9]*[-_]?[a-z0-9]+[-_.]?)*@([a-z0-9]*[-_]?[a-z]+)+[\.][a-z0-9]{2,3}([\.][a-z]{1,3})?)


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值