Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Regex的电子邮件验证_Javascript_Regex - Fatal编程技术网

Javascript Regex的电子邮件验证

Javascript Regex的电子邮件验证,javascript,regex,Javascript,Regex,我目前正试图在javascript中为以下规则编写正则表达式代码 电子邮件地址必须是有效地址(X@Y.Z) 名称部分允许的字符为大写和小写a-z, 数字、破折号和点字符 域部分允许的字符仅为字母和点(.) 我怎样才能在一个正则表达式中写出整个事例 到目前为止,我所做的是/^\w+([\.-]?\w+*@\w+([\.-]?\w+*)(\.\w{2,3})+$/ 提前感谢。实际上正确验证电子邮件地址(即根据)相当困难,请参见例如 即使这样,您也无法确定电子邮件地址是否有效,您会知道它格式正确,但这

我目前正试图在javascript中为以下规则编写正则表达式代码

  • 电子邮件地址必须是有效地址(X@Y.Z)
  • 名称部分允许的字符为大写和小写a-z, 数字、破折号和点字符
  • 域部分允许的字符仅为字母和点(.)
  • 我怎样才能在一个正则表达式中写出整个事例

    到目前为止,我所做的是
    /^\w+([\.-]?\w+*@\w+([\.-]?\w+*)(\.\w{2,3})+$/


    提前感谢。

    实际上正确验证电子邮件地址(即根据)相当困难,请参见例如

    即使这样,您也无法确定电子邮件地址是否有效,您会知道它格式正确,但这并不意味着它存在。因此,您可能希望发送一条激活消息来验证这一点。那么,如果你无论如何都要这么做,为什么还要费心处理复杂的正则表达式呢?如果地址无效,你会立即得到一个反弹


    如果您仍然坚持使用正则表达式,那么您所拥有的看起来不错,但不是很容易理解。因此,在这种情况下,也许你可以提供更多的信息,说明它没有做你期望它做的事情。

    不用担心,只需使用
    /[^@]+@[^@]/
    然后发送确认电子邮件。因此根据规则3,在
    @1和1.com
    工作的人不能注册?我已经检查了该页面,但是没有。它没有做我想做的事情。这个页面有所有流行的电子邮件正则表达式,如果你真的想使用正则表达式,这就是你需要的,但是我认为这是浪费时间。我有几次收到用户的投诉,因为他们的电子邮件无法验证(因为一个坏的正则表达式)。电子邮件确认是验证真实电子邮件的唯一方法。我知道这不太可能。正如我在下面所说的,我只是想用不同的例子来提高自己,但我在这一点上被绊倒了。好的,还是谢谢。谢谢你的评论,但我不会在任何系统上集成或使用它。我只是想在regex上提高自己,而在这一次我只是被绊倒了。这就是为什么我想帮助你们@没问题,只要你意识到在“现实”生活中,它有点复杂。现在我很乐意帮你修复你的正则表达式,如果你能说出它有什么问题的话。例如,哪个电子邮件地址在您希望它通过时失败,或者反之亦然?第一次阅读时,我希望您希望在点匹配中包含
    \w
    ,例如
    ^(\w|\w+([\.\w-]*\w+)
    ,而不是
    \w+([\.-]?\w+
    。否则您将只匹配“.”,而不是多个点。(实际上你没有要求说
    @
    前面的部分不能是
    ..
    ,所以只要
    [\w\.-]+
    就可以了。)明白了,非常感谢:)试着写得长一点,短一点。应该能帮助我更好地理解它