文档章节

filter_var() 验证邮箱、ip、url的格式 php

白俊遥
 白俊遥
发布于 2016/04/04 23:32
字数 434
阅读 66
收藏 4

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

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

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

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

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

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

/**
 * 验证是否是邮箱
 * @param  string  $email 邮箱
 * @return boolean        是否是邮箱
 */
function is_email($email){
    if(filter_var($email,FILTER_VALIDATE_EMAIL)){
        return true;
    }else{
        return false;
    }
}

var_dump(is_email('baijunyao@baijunyao.com'));
// 打印 ture
var_dump(is_email('baijunyao.com'));
// 打印 false

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

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

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

/**
 * 验证是否是url
 * @param  string  $url   url
 * @return boolean        是否是url
 */
function is_url($url){
    if(filter_var($url,FILTER_VALIDATE_URL)){
        return true;
    }else{
        return false;
    }
}

var_dump(is_url('http://baijunyao.com'));// 打印 true
var_dump(is_url('baijunyao.com'));// 打印 false
var_dump(is_url('http://a'));// 打印 true

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

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

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

恩恩;;;da an是否定的;你想多了;

白俊遥博客

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


© 著作权归作者所有

白俊遥
粉丝 18
博文 58
码字总数 28701
作品 3
朝阳
程序员
私信 提问
加载中

评论(2)

白俊遥
白俊遥 博主

引用来自“我才是撸大师”的评论

这种函数也要封装嘛
主要是为了更直观的讲解了;封不封装意义确实不大;
OSC老司机
OSC老司机
这种函数也要封装嘛
使用PHP自带的filter函数进行数据校验

使用PHP自带的filter函数进行数据校验 PHP过滤器包含两种类型 Validation:用来验证验证项是否合法 Sanitization:用来格式化被验证的项目,因此它可能会修改验证项的值,将不合法的字符删除...

开元中国2015
2015/05/30
86
1
php用户输入fiter函数的校验

php用户输入fiter函数的校验: 代码如下: $val) { //再判断未传的参数。 if (is_n

guanchaoguo
2018/06/26
0
0
ThinkPHP函数详解:I方法

用法格式如下: I('变量类型.变量名',['默认值'],['过滤方法']) 变量类型是指请求方式或者输入类型,包括: 变量类型 含义 get 获取GET参数 post 获取POST参数 param 自动判断请求类型获取G...

大师兄
2014/05/07
553
0
PHP filter_input() 函数

定义和用法 filter_input() 函数从脚本外部获取输入,并进行过滤。 本函数用于对来自非安全来源的变量进行验证,比如用户的输入。 本函数可从各种来源获取输入: INPUT_GET INPUT_POST INPUT...

学习者8
2013/03/07
153
0
wifidog用php实现验证流程

原创性声明 此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/25384909如果进行转载请注明出处。本文作者原创,邮箱zhujunxxxxx@163.com,如有问题请联系作者 步骤 1.首先...

zhujunxxxxx
2014/05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊nacos config的deleteConfig

序 本文主要研究一下nacos config的deleteConfig ConfigController nacos-1.1.3/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigController.java @Controller@Re......

go4it
昨天
3
0
面试:原来Redis的五种数据类型底层结构是这样的

关注我,可以获取最新知识、经典面试题以及微服务技术分享   在Redis中会涉及很多数据结构,比如SDS,双向链表、字典、压缩列表、整数集合等等。Redis会基于这些数据结构自定义一个对象系统...

ccww_
昨天
4
0
java发送html模板的高逼格邮件

最近做了一个监测k8s服务pod水平伸缩发送邮件的功能(当pod的cpu/内存达到指定阈值后会水平扩展出多个pod、或者指定时间内pod数应扩展到指定数量),一开始写了个格式很low的邮件,像下面这样...

码农实战
昨天
10
0
php-fpm配置文件详解/MariaDB密码重置、慢查询日志

来源:https://blog.csdn.net/Powerful_Fy php-fpm主配置文件路径:/usr/local/php-fpm/etc/php-fpm.conf #位于安装php安装目录下的etc/目录中,该文件中最后一行将配置文件指向:include=/...

asnfuy
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部