<?php
//网址可以用以下方式验证
    $t = "http://127.0.0.1/write.php";
    if (!$t['host']){
echo "不是网址"; 
}else{
echo "完整的网址"; 
}
//邮箱怎么写$t['????']这里?谢谢!
    $t = "[email protected]";
    if (!$t['????']){
echo "不是邮箱"; 
}else{
echo "正确的邮箱"; 
} ?>只要以上验证方式,不需要这种的:
 !ereg("^[a-zA-Z0-9_.]+@([a-zA-Z0-9_]+.)+[a-zA-Z]{2,3}$", $email) 

解决方案 »

  1.   


    谁告诉你的?起码应该是$t = parse_url($t);
    if($t['host']){}
      

  2.   

    求 http://127.0.0.1/write.php 这个源码
      

  3.   

    晕倒,可以直接$t['host']吗,这样的话,除非$t不输入或者等于flase,不然都会认为是网址的
    如:  $t = "1";//1明星不是网址吧
      if (!$t['host']){
    echo "不是网址";
    }else{
    echo "完整的网址";
    }输入结果:完整的网址
      

  4.   

     $email = "[email protected]";
    if( filter_var($email, FILTER_VALIDATE_EMAIL))
        echo "合法的email地址";
    else
        echo "不合法"; 
     
      

  5.   


    屌爆了。。
    这样其实也不完整。
    [email protected]
    [email protected]还是用正则,可以指定有效字符范围
      

  6.   


    最终目的想实现:
      $t = "http://127.0.0.1/write.php";
       if (!$t['host']||!$t['??????']){
    echo "不是网址或邮箱";  
    }else{
    echo "正确";  
    }所以想知道     if (!$t['host']||!$t['??????']){后面的验证是不是邮箱的怎么写?
      

  7.   

    不需要严格验证邮箱是否正确,只想验证是不是网址或邮箱,还是其它就可以了所以想知道 if (!$t['host']||!$t['??????']){后面的验证是不是邮箱的怎么写?最终目的想实现:
       $t = "http://127.0.0.1/write.php";
       if (!$t['host']||!$t['??????']){
    echo "不是网址或邮箱";   
    }else{
    echo "正确";   
    }
      

  8.   

    你说的对,请教怎么实现if (!$t['host']||!$t['??????']){后面的验证是不是邮箱?foreach ($url_arr as $v){
        $t = parse_url($v);
      if (!$t['host']||!$t['??????']){
    echo "不是网址或邮箱";   
    }else{
    echo "正确";   
    }
    }
      

  9.   


    $emailPattern = '/^[^@]*<[a-zA-Z0-9!#$%&\'*+\\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&\'*+\\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?>$/';
    $urlPattern = '/^(http|https):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)/i';