【问题标题】:Email validation with particular extensions?带有特定扩展名的电子邮件验证?
【发布时间】:2014-06-30 16:51:49
【问题描述】:

表格代码:

<form class="form"  name ="custRegistration"  id="custRegistration"  onsubmit="return submitAlbum(this)" action="download.jsp" method="post" >


        <p class="email">
            <label for="budget">Expected Budget :</label>
            <input type="text" name="budget"  id="budget"/>
        </p>




        <p class="submit">
             <label for="download" id="freetrail">Download 30 day free trial</label>
            <input type="submit" value="Submit" />
        </p>

    </form>

我想使用在上图中检查的扩展验证电子邮件 ID,并使用 javascript 阻止其余电子邮件 ID 扩展。任何帮助将不胜感激??

【问题讨论】:

  • 验证是什么意思? JavaScipt 只能测试电子邮件地址的格式是否正确 - 不能测试电子邮件地址是否在使用中。
  • @jeff 也在询问如何测试电子邮件地址的格式是否正确。
  • 同时在相关问题中:stackoverflow.com/questions/46155/…

标签: javascript regex email email-validation email-address


【解决方案1】:

(\w+\.)*\w+@(\w+\.)+[A-Za-z]+

这个正则表达式是基本的电子邮件检查。

在这种情况下你可以使用正则表达式,遵循正则表达式:

((\w+\.)*\w+)@(\w+\.)+(com|kr|net|us|info|biz)

【讨论】:

    【解决方案2】:

    好的,获取数组中所有选中项的值(至少你现在应该可以做到这一点)

    现在让数组为["com","net"]

    var arr = ["com","net"];
    var str = arr.join("|")
    var re = new RegExp("^\w+@\w+\.("+str+")$");
    console.log(re);
    

    我使用的正则表达式是最基础的,您可以根据需要更改它。 SO 上的另一个答案建议"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$" 是一个更完整的电子邮件验证器。因此,您可以将倒数第二行更改为:

    var re = new RegExp("^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.("+str+")$");
    

    此代码将为您提供验证电子邮件所需的正则表达式。

    现在您只需执行 regex test 即可查看哪些电子邮件通过了您的验证。

    编码愉快!

    【讨论】:

    • 字符串文字使用反斜杠作为转义序列的开始。如果您希望实际的反斜杠字符成为您正在构建的正则表达式的一部分,那么您需要在字符串中对其进行转义,以便实际字符出现在结果字符串中。
    • 例如:new RegExp("^\\w+@\\w+\\.("+str+")$")
    • @aelor 我想你的意思是str.join("|") 而不是str
    • @GaurangTandon 我们加入数组,而不是字符串
    • @aelor 哦,好吧,我没有看到 str 实际上有一个值 arr.join("|")。我想没必要为此大喊大叫。
    【解决方案3】:

    你也可以使用上面的正则表达式(aelor's)作为

    [a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.(COM|ORG|BIZ|CO)  
    

    使用 管道分隔符 包含所有扩展。

    【讨论】:

      猜你喜欢
      • 2017-06-22
      • 1970-01-01
      • 2022-12-05
      • 2018-04-30
      • 2015-05-16
      • 1970-01-01
      • 2013-12-13
      • 2016-05-12
      • 1970-01-01
      相关资源
      最近更新 更多