邮箱正则表达式,求一个电话号码和邮箱的正则表达式,要正确的
邮箱正则表达式,求一个电话号码和邮箱的正则表达式,要正确的详细介绍
本文目录一览: 正则表达式如何验证邮箱?
1.PHP邮箱验证正则表达式:\x0d\x0apreg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email);\x0d\x0a如果需要更加完善、严格的验证,修改这个正则表达式即可。\x0d\x0a\x0d\x0a2.PHP邮箱验证正则表达式实例:\x0d\x0a\x0d\x0a\x0d\x0a3.Javascript(js)邮箱验证正则表达式:\x0d\x0amyreg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;\x0d\x0a这个可以验证形如:i@julying.com,i@i.com这种邮箱\x0d\x0a\x0d\x0a4.Javascript(js)邮箱验证正则表达式实例:\x0d\x0a\x0d\x0afunctionisEmail(val){\x0d\x0avarmyreg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;\x0d\x0aif(!myreg.test(val))\x0d\x0areturn'不是邮箱';\x0d\x0areturn'是邮箱';\x0d\x0a};\x0d\x0aalert(isEmail('i@julying.com'));\x0d\x0a
邮箱正则表达式+正则基本知识点
一般程序员的姿势
正则表达式正确的运用姿势
今天来搞几个邮箱正则表达式,匹配多级域名,包括中文域名
从上图可以得出,除去“.”号,域名既有英文(最多是6个字符),也有中文(最多是3个汉字) 而现在有很多影子邮箱/百变邮箱,是使用二级域名或者三级域名,所以,我们先列举如下几个邮箱,然后写一个正则表达式,去匹配、判断
不管是什么邮箱,确定会有的字符是“@”和至少一个“.”(这里特指最后一个),那么我们就以这两个确定的符号为分界点,将每个邮箱拆分成3段,对每一段进行正则匹配,最终组成整个邮箱的正则匹配。当然进入下一步之前,先理一理基本知识点。
定义:一个正则可以匹配的字符串的长度不是固定的,使用量词可以达到这种目的。
量词:比如{m , n} :表示连续出现最少 m 次,最多 n 次;跟在一个字符的后面就表示对该字符的限定。
比如邮箱的校验:/^\w+@[a-z0-9]+.[a-z]{2,4}$/,写在了[a-z]后面,表示可以有2到4位的字母
又比如手机号的校验: /^1[3456789]\d{9}$/,跟在了\d后面,表示需要出现9个数字
对于量词的总结:
定义:正则匹配的字符串对于某一位置上的字符来说,它可以有多种可能,不局限于某一类型,使用字符组可以达到这种目的。
字符组:比如[abc],表示该字符是可以字符 "a"、"b"、"c" 中的任何一个。对于这一位置来说,我们可以有3种可能性。
比如手机号的校验: /^1[3456789]\d{9}$/,它在第二个位置,根据一般手机运营商来说,提供手机第二位的数字可以是3到9的任意一个,才符合规范。
如果字符组里表示的字符特别多,可以使用范围表示法,用连字符-来省略和缩写。
比如邮箱的校验:/^\w+@[a-z0-9]+.[a-z]{2,4}$/,它跟在@后面,根据我们邮箱的规范可知,@后面的 [a-z0-9]+ 表示:数字0到9和字母a-z中的至少一个字符
这里简单解析一下:
对于js正则: ([a-z]{2,6}|[\u2E80-\u9FFF]{2,3})
js正则的中文汉字正则表达式来源于手册: https://tool.oschina.net/uploads/apidocs/jquery/regexp.html
对于php正则: ([a-z]{2,6}|[\x7f-\xff]{6,9})
在utf-8编码中,用ASCII码表中的第128~255编码中的3个编码表示一个汉字,这里用十六进制表示
验证一下:
运行结果:
运行结果
全部通过
当然,php正则匹配邮箱,还可以这样子
原理与 /^\w+@([\da-z\.-]+)\.([a-z]{2,6}|[\x7f-\xff]{6,9})/ 类似。
最后,上面的几个正则表达式是居于当前市面上现存的域名进行匹配的,下面提供几个更加宽松的邮箱正则匹配
原理都相似,可以对照理解下。如有误,欢迎留言区批评指正。
JS 邮箱正则表达式
/^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g
开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-。然后是点“.”和单词字符和-的组合,可以有一个或者多个组合。
代码如下:
扩展资料:
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
参考资料:正则表达式百度百科
邮件地址的正则表达式怎么写?
电子邮件正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*这是vs2003中正则表达式编辑器生成的电子邮件的正则表达式,它的意思是:\w+ 必须以一个a-z,a-z,0-9或_这些字符中的一个开头。([-+.]\w+)* 的意思是:允许0个或是多个-+.a或-+.aa这样的字符,也就是说,到这里为止,邮件的地址可以是:a-aa+aaa.aaa这种作为开头。接下来@就不用解释了,邮件必须的东西。\w+意思同上。([-.]\w+)*意思是允许出现0个或是多个 -.加一个字符或是多个字符的情况。\.意思就是.就像\\就是指\一样。\w+([-.]\w+)*意思和上面的一样。根据这个正则表达式,邮箱可以是如下这些格式: www.kgdiwss@163.comwww+kgdiwss@163.com www.kgdiwss@163.com
JAVA中写邮箱格式的正则表达式,怎么写?
合法E-mail地址:
1.
必须包含一个并且只有一个符号“@”
2.
第一个字符不得是“@”或者“.”
3.
不允许出现“@.”或者.@
4.
结尾不得是字符“@”或者“.”
5.
允许“@”前的字符中出现“+”
6.
不允许“+”在最前面,或者“+@”
正则表达式如下:
-----------------------------------------------------------------------
^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$
-----------------------------------------------------------------------
字符描述:
^
:匹配输入的开始位置。
\:将下一个字符标记为特殊字符或字面值。
*
:匹配前一个字符零次或几次。
+
:匹配前一个字符一次或多次。
(pattern)
与模式匹配并记住匹配。
x|y:匹配
x
或
y。
[a-z]
:表示某个范围内的字符。与指定区间内的任何字符匹配。
\w
:与任何单词字符匹配,包括下划线。
$
:匹配输入的结尾。
验证电子邮箱的正则表达式
var email = '11462342@qq.com';var reg = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;//邮箱console.log(reg.test(email));看懂了吗!
(\\w+)(\\.\\w+)*(\\@\\w+){1}(\\.[a-z]{2,3}){1,2}
简单的支持 :aaa@bb.cc(例如:xiaoming@qq.cn)
复杂的支持:aaa.bbb.ccc.ddd....@eee.fff.ggg-->(.fff.ggg->例如.com.cn)
(例如:xiaoming.mama.baba.yeye.nainai...@qq.cn.com)
\\w :匹配任何字类字符,包括下划线。与"[A-Za-z0-9_]"等效。
(\\.\\w+)*: 表示".aaa"可以多个也可以没有.
(\\@\\w+){1}: 表示"@bbb"有且存在一个.
[a-z]{2,3} :表示不需要数字2-3个 例如"aa","bbb".
(\\.[a-z]{2,3}){1,2} :表示 ".aa(a)"有1-2个,例如".com.cn"
能验证一些格式邮箱的正则表达式 (如:hah123@vip.sina.com)怎么写?
import java.io.*;public class CheckEmail { public static boolean checkEmail(String email) {// 验证邮箱的 String format = "\\p{Alpha}\\w{2,15}[@][a-z0-9]{3,}[.]\\p{Lower}{2,}"; //p{Alpha}:内容是必选的,和字母字符[\p{Lower}\p{Upper}]等价。如:200896@163.com不是合法的。 //w{2,15}: 2~15个[a-zA-Z_0-9]字符;w{}内容是必选的。 如:dyh@152.com是合法的。 //[a-z0-9]{3,}:至少三个[a-z0-9]字符,[]内的是必选的;如:dyh200896@16.com是不合法的。 //[.]:'.'号时必选的; 如:dyh200896@163com是不合法的。//p{Lower}{2,},两个以上。如:dyh200896@163.c是不合法的。 if (email.matches(format)) { return true;// 邮箱名合法,返回true } else { return false;// 邮箱名不合法,返回false } } public static void main(String[] args) throws Exception{ String email = "cc**365@163.com"; // 需要进行验证的邮箱 while(true){ email = new BufferedReader(new InputStreamReader(System.in)).readLine(); if (CheckEmail.checkEmail(email)) // 验证邮箱 { System.out.println(email+"\n是合法的邮箱名。");} else{System.out.println(email+"\n不是合法的邮箱名。"); } } } }
求一个电话号码和邮箱的正则表达式,要正确的
电话号码粗哟匹配
\b\d{11}\b|\b\d{9}\b
邮箱的正则
\b\w+@(\w+\.)+\w+\b
我是给的提取的,限制输入要加^$,两头\b去掉
邮件地址
/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
固定电话
regexp=/^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/
手机号码
/^1[3|4|5|8][0-9]\d{4,8}$/
我觉得把固话和手机写在一个表达式里面是不明智的选择。
邮箱验证的正则表达式,邮箱可以写多个,中间用;分隔,比如 123abc@123.com;234abc@234.com;345abc@234.com
更改一个括号位置:
^(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}\;))*([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$
【最后半个圆括号放到了 中间星号前面】
匹配过程:https://regex101.com/r/pQ1sD0/1