常用手机号、邮箱正则表达式

在编写代码是常常会用到一些正则表达式来校验输入内容的正确性,以便用户输入的内容合理有效,下边将介绍几种常用的正则表达式:

1.手机号码校验

通过查询电话号码的号段一般在3~4位,通过观察前两位相对固定,后9位大致为0到9的数字,所以可以写出如下正则表达式:

(13|14|15|17|18)[0-9]{9}

详解:

该表达式运用了以下指示点

(13|14|15|17|18)这段代码运用了分支,分支就是存在多种可能的匹配情况。多种情况用“|”进行分隔,这段表达式的意思就是:手机号的前两位有可能是12,14,15,17,18的其中之一。[0-9]是字符组,表示该位置匹配0到9中的一个数字。{9}是量词,意思是将[0-9]重复9次。

用php代码进行测试:

<?php

$mobile = "18512345678";
$pattern = "/^(13|14|15|17|18)[0-9]{9}$/";
if(!preg_match($pattern,$mobile)){
    exit('手机号格式不正确!');
}else{
    exit('手机号校验成功!');
}

?>

运行结果成功,注意到$pattern变量中的表达式前端和末尾都有一个斜杠“/”,当使用 PCRE 函数的时候,表达式需要由分隔符闭合包裹。分隔符可以使任意非字母数字、非反斜线、非空白字符。经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~)。

2.E-mail邮箱验证

邮箱的形式一般为name@domain.com形式,name为用户名,domain为域名,com为后缀。正则表达式可如下:

[\w-]+(\.[\w-]+)*@([\w-]+\.)+\w{2,14}

详解:

\w为元字符,可匹配字母或数字或下划线或汉字,[\w-]+的意思是用户名的前几位可以是1个货多个[\w-]的组合。(\.[\w-]+)*的意思是匹配以点号“.”开始的字符串0次或多次,(\.[\w-]+)*至少匹配一次以点号“.”的字符串,\w{2,14}匹配2至14位的字符串

用php代码进行测试:

$email = "name@domain.com";
$pattern = "/[\w-]+(\.[\w-]+)*@([\w-]+\.)+\w{2,14}/";
if(!preg_match($pattern,$email)){
    exit('邮箱格式不正确!');
}else{
    exit('邮箱校验成功!');
}

如此在接收用户输入的时候就可以对手机号及邮箱格式进行校验了

版权所有,转载注明出处

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值