filter_var() 验证邮箱、ip、url的格式 php
验证邮箱格式的正确与否;你的第一解决方案是什么呢?
不管你们怎么思考的;反正我首先想到的就是字符串查找看是否有@符号;
但是对于结尾的.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 是不是就可以验证手机号了?
恩恩;;;答案是否定的;你想多了;

别看了;这是做文章封面图用的;
转载 https://blog.csdn.net/bai9474500755/article/details/51059529
filter_var() 验证邮箱、ip、url的格式 php的更多相关文章
- php 过滤器filter_var验证邮箱/url/ip等
验证邮箱.url或者ip,除了使用正则外,也可以使用内置的函数库过滤器filter来完成这些功能. filter_var (PHP 5 >= 5.2.0, PHP 7)filter_var — ...
- PHP自带方法验证邮箱、URL、IP是否合法
PHP验证邮箱.URL.IP是否合法 以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带 ...
- php自带验证邮箱 url ip函数
以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱.URL.IP是否合法的函数 ...
- php使用过滤器filter_var轻松验证邮箱url和ip地址等
以前使用php的时候还不知道有过滤器filter这玩意,那时候判断邮箱.url和ip地址格式是否符合都是用正则表达式.后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库过滤器filter来 ...
- 常用正则表达式大全,手机、电话、邮箱、身份证(最严格的验证)、IP地址、网址、日期等
<script type="text/javascript">/* * 手机号码格式 * 只允许以13.15.18开头的号码 * 如:13012345678.15929 ...
- c# 常见验证邮箱、电话号码、日期等格式
#region 验证邮箱验证邮箱 /**//// <summary> /// 验证邮箱 /// </summary> /// <param name="sour ...
- C#验证邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP类等常用函数封装
#region 验证邮箱验证邮箱 /**//// <summary> /// 验证邮箱 /// </summary> /// <param name="sour ...
- JS验证邮箱格式是否正确的代码
验证邮箱格式是否正确的方法有很多,接下来为大家介绍下使用js是如何做到的 复制代码代码如下: /* *验证邮箱格式是否正确 *参数strEmail,需要验证的邮箱 */ www.jbxue.co ...
- jquery+正則表達式验证邮箱格式的样例
js: $("#email").blur(function(){ //获取id相应的元素的值,去掉其左右的空格 var email = $.trim($('#email').val ...
随机推荐
- 【LeetCode】80. 删除有序数组中的重复项 II
80. 删除有序数组中的重复项 II 知识点:数组:排序:双指针: 题目描述 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度. 不要使 ...
- Avro使用手册
1. Overview Data serialization is a technique of converting data into binary or text format. There a ...
- noip模拟12[简单的区间·简单的玄学·简单的填数]
noip模拟12 solutions 这次考试靠的还是比较好的,但是还是有不好的地方, 为啥嘞??因为我觉得我排列组合好像白学了诶,文化课都忘记了 正难则反!!!!!!!! 害没关系啦,一共拿到了\( ...
- 备战秋招之十大排序——O(n^2)级排序算法
一.冒泡排序 冒泡排序是入门级的算法,但也有一些有趣的玩法.通常来说,冒泡排序有三种写法: 一边比较一边向后两两交换,将最大值 / 最小值冒泡到最后一位: 经过优化的写法:使用一个变量记录当前轮次的比 ...
- 互斥锁(Lock)
转载至:https://www.cnblogs.com/dolphin0520/p/3923167.html 一.synchronized的缺陷 synchronized是java中的一个关键字,也就 ...
- linux-解决/usr/bin/which: no ssh-copy-id in 和ssh: Could not resolve hostname问题
使用yum install openssh-clients 安装命令 有的系统没有此命令 有的系统缺省 就包含这一条命令! 但是我的测试机没有发现此命令 只能这样安装! 这时有报错了 1 2 [ro ...
- js 显示日期时间,时间过一秒加1
html: <div id="data"><font>2017年10月17日 15:11:11</font></span> js: ...
- SpringMVC-初见
目录 什么是SpringMVC? DispatcherServlet 第一个MVC程序 配置版 Maven可能存在资源过滤的问题 注解版 RestFul和控制器 实现Controller接口 使用注解 ...
- (6)java Spring Cloud+Spring boot+mybatis企业快速开发架构之SpringCloud-Spring Boot项目详细搭建步骤
在 Spring Tools 4 for Eclipse 中依次选择 File->New->Maven Project,然后在出现的界面中按图所示增加相关信息. <paren ...
- "指针"和"引用"大对比
相同点: 都能够直接引用对象,并对对象进行操作. 不同点: 指针 引用 指针类型的变量能够保存一个对象的地址 引用是一个对象的别名 可以为空nil,可以不初始化 不可以为空nil,必须初始化 当设计一 ...