filter_var() 验证邮箱、ip、url的格式 php
admin
2023-06-23 17:42:10
0

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

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

但是对于结尾的.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 是不是就可以验证手机号了?

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

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

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


相关内容

热门资讯

伊朗军方称拦截一架美国无人机 总台记者当地时间5月28日获悉,一位军方消息人士当天证实,在伊朗布什尔附近拦截了一架入侵的美国无人机...
澳弘电子获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示澳弘电子(605058)新获得一项实用新型专利授权,专利名为“...
菲总统日本国会演说:双方关系已... 据凤凰卫视报道,菲律宾总统马科斯28日在日本国会发表演说,回顾了菲日两国关系的发展历程,并就双边合作...
李立功:以自主算力底座支撑人工... 天津北方网讯:5月28日,在2026世界智能产业博览会开幕式上,中国电子信息产业集团有限公司董事长李...
SK海力士推出集成散热HBM内... 韩国半导体巨头SK海力士宣布推出一种面向AI数据中心的新型高带宽内存(HBM),通过在内存封装内部集...
《通信世界》2026年第5期上... 《通信世界》2026年4月20日 第4期 本期专题 智能体:重塑ICT产业生态 随着人工智能与大模型...
海军黄石舰最新演练画面 近日,北部战区海军某支队黄石舰开展海上多课目实战化训练。训练全程不设脚本、临机设置险情,突出专攻精练...
美财长:特朗普不会接受“糟糕的... △美国财政部长贝森特(资料图)当地时间5月28日,美国财政部长贝森特在简报会上表示,美国与伊朗谈判团...
知情人士:伊朗方面尚未同意任何... 当地时间5月28日,伊朗谈判代表团媒体团队成员赛义德·阿加卢表示,截至目前,伊朗方面尚未同意任何谅解...
古巴外长:古美双边谈判没有取得... △古巴外交部长罗德里格斯(资料图)当地时间5月28日,古巴外交部长布鲁诺·罗德里格斯表示,古巴与美国...