验证邮箱格式的正确与否;你的第一解决方案是什么呢?

不管你们怎么思考的;反正我首先想到的就是字符串查找看是否有@符号;

但是对于结尾的.com或者.net 亦或者.cn等等越来越多的域名验证感觉棘手;

直到了某一天认真的研究了filter_var()函数的参数;

我对以前走马观花式的阅读php文档表示深深的惭愧;

其实filter_var()第二个参数传FILTER_VALIDATE_EMAIL即可验证邮箱、略加整理就如下;

  1.  
    /**
  2.  
     * 验证是否是邮箱
  3.  
     * @param  string  $email 邮箱
  4.  
     * @return boolean        是否是邮箱
  5.  
     */
  6.  
    function is_email($email){
  7.  
        if(filter_var($email,FILTER_VALIDATE_EMAIL)){
  8.  
            return true;
  9.  
        }else{
  10.  
            return false;
  11.  
        }
  12.  
    }
  13.  
     
  14.  
    var_dump(is_email('baijunyao@baijunyao.com'));
  15.  
    // 打印 ture
  16.  
    var_dump(is_email('baijunyao.com'));
  17.  
    // 打印 false

经研究;这个函数验证邮箱的规则就是要有个@符号;然后@符号后面还要有个英文句号. ;

咦?看到baijunyao.com;那有木有一个可以验证url域名的函数?

恩;没错;有的;第二个参数传FILTER_VALIDATE_URL就是用来验证url的;

  1.  
    /**
  2.  
     * 验证是否是url
  3.  
     * @param  string  $url   url
  4.  
     * @return boolean        是否是url
  5.  
     */
  6.  
    function is_url($url){
  7.  
        if(filter_var($url,FILTER_VALIDATE_URL)){
  8.  
            return true;
  9.  
        }else{
  10.  
            return false;
  11.  
        }
  12.  
    }
  13.  
     
  14.  
    var_dump(is_url('http://baijunyao.com'));// 打印 true
  15.  
    var_dump(is_url('baijunyao.com'));// 打印 false
  16.  
    var_dump(is_url('http://a'));// 打印 true

根据打印的结果可知;判断是否是url的规则就是要有http:// 后边要跟一个字母数字即可;

当然;顺理成章;第二个参数传FILTER_VALIDATE_IP的时候就是验证是否是ip地址了;

filter_var很强大的样子;那传个FILTER_VALIDATE_PHONE 是不是就可以验证手机号了?

恩恩;;;答案是否定的;你想多了;

别看了;这是做文章封面图用的;

转载 https://blog.csdn.net/bai9474500755/article/details/51059529

filter_var() 验证邮箱、ip、url的格式 php的更多相关文章

  1. php 过滤器filter_var验证邮箱/url/ip等

    验证邮箱.url或者ip,除了使用正则外,也可以使用内置的函数库过滤器filter来完成这些功能. filter_var (PHP 5 >= 5.2.0, PHP 7)filter_var — ...

  2. PHP自带方法验证邮箱、URL、IP是否合法

    PHP验证邮箱.URL.IP是否合法 以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带 ...

  3. php自带验证邮箱 url ip函数

    以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱.URL.IP是否合法的函数 ...

  4. php使用过滤器filter_var轻松验证邮箱url和ip地址等

    以前使用php的时候还不知道有过滤器filter这玩意,那时候判断邮箱.url和ip地址格式是否符合都是用正则表达式.后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库过滤器filter来 ...

  5. 常用正则表达式大全,手机、电话、邮箱、身份证(最严格的验证)、IP地址、网址、日期等

    <script type="text/javascript">/* * 手机号码格式 * 只允许以13.15.18开头的号码 * 如:13012345678.15929 ...

  6. c# 常见验证邮箱、电话号码、日期等格式

    #region 验证邮箱验证邮箱 /**//// <summary> /// 验证邮箱 /// </summary> /// <param name="sour ...

  7. C#验证邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP类等常用函数封装

    #region 验证邮箱验证邮箱 /**//// <summary> /// 验证邮箱 /// </summary> /// <param name="sour ...

  8. JS验证邮箱格式是否正确的代码

    验证邮箱格式是否正确的方法有很多,接下来为大家介绍下使用js是如何做到的 复制代码代码如下: /*  *验证邮箱格式是否正确  *参数strEmail,需要验证的邮箱  */ www.jbxue.co ...

  9. jquery+正則表達式验证邮箱格式的样例

    js: $("#email").blur(function(){ //获取id相应的元素的值,去掉其左右的空格 var email = $.trim($('#email').val ...

随机推荐

  1. noip34

    因为改不动T3而来水博客的屑 昨晚没睡好,大致看了一遍题面后,选择了死亡231,然后就死的很惨. T1 一开始大致看题面的时候,就略了一眼,加上没读全题,啥思路也没有,最后四十分钟滚回来看了看,发现就 ...

  2. NOIP 模拟 $28\; \rm 客星璀璨之夜$

    题解 \(by\;zj\varphi\) 概率与期望,考虑 \(\rm dp\) 设 \(dp_{i,j}\) 为消除 \(i-j\) 这一段行星的期望,转移: 枚举 \(k\) 为当前状态下第一个撞 ...

  3. 备战秋招之十大排序——O(n^2)级排序算法

    一.冒泡排序 冒泡排序是入门级的算法,但也有一些有趣的玩法.通常来说,冒泡排序有三种写法: 一边比较一边向后两两交换,将最大值 / 最小值冒泡到最后一位: 经过优化的写法:使用一个变量记录当前轮次的比 ...

  4. RedisTemplate实现redis分布式锁

    RedisLockUtil.java package com.meeno.inner.oa.common.redis; import lombok.extern.slf4j.Slf4j; import ...

  5. Windows 10 - View SIM Card Number

     If your device isn't running Windows 10, refer to the Windows 8 instructions. From the Windows desk ...

  6. spring学习日志三

    一.回顾 1.1 依赖注入的方式. set方法来注入 <property name="属性名" /> 构造方法来注入<construtor-arg index=& ...

  7. jQuery中的层级选择器(四、二):后代元素、子元素、相邻元素、兄弟元素

    <!DOCTYPE html> <html> <head> <title>层次选择器</title> <meta http-equiv ...

  8. 【JavasScript】折腾一个基础到不能再基础的顺滑抽奖页面

    前言 事情是这样的,作为一个意志力极低的人,最近一直在找寻提高意志力的方法. 然后决定试一试所谓的"建立奖励机制",也就是说,完成一项意志力挑战后给自己一些奖励(具体操作方法不在这 ...

  9. shiro登录源码

    //1.获取SecurityManager工厂,此处使用Ini配置文件初始化SecurityManager Factory<org.apache.shiro.mgt.SecurityManage ...

  10. Learning ROS: Using a C++ class in Python

    http://wiki.ros.org/ROS/Tutorials/Using%20a%20C%2B%2B%20class%20in%20Python This tutorial illustrate ...