js和java中使用正则表达式校验邮箱

问题:经常在项目中要校验邮箱?

  邮箱格式:首位必须为字母,必须包含一个@符号,并且@之后有个名字,之后还有个.,再有一个后缀名

  例如:wyp55023@163.com

 

一、java中代码如下:

String reg="[A-z]+[A-z0-9_-]*\@[A-z0-9]+\.[A-z]+";
System.out.println("wyp55023@163.com".matches(reg));

解释:

  [A-z]+:表示至少出现一次或多次内容为a-z/A-Z的字母
  [A-z0-9_-]*:表示可以出现0次或任意次内容为a-z/A-Z/_/-的字母
  \@:双斜杠表示转义字符实际上是想匹配@符号
  \.:同\@

二、javascript中的代码如下:
    <script type="text/javascript">
      var email="wyp55023@163.com";
      var reg=/[A-z]+[A-z0-9_-]*@[A-z0-9]+.[A-z]+/;
      alert(reg.test(email));
    </script>
解释:同java上



附注:

  [0-9]:0-9中任意一个
  [a-z]:a-z中任意一个
  [A-Z]:A-Z中任意一个
  [A-z]:A-Z和a-z中任意一个
  d:数字
  D:非数字
  w:字母
  W:非字母
  S:空格
  s:非空格
  n+:至少一个 n 的字符串
  n*:零个或多个 n 的字符串
  n?出现0次或多次
  {5}出现5次
  {2,8}2到8次



Best Regards
原文地址:https://www.cnblogs.com/pecool/p/8057996.html