【问题标题】:Validate format of an email address - no regex, no plugins jquery验证电子邮件地址的格式 - 没有正则表达式,没有插件 jquery
【发布时间】:2013-01-18 16:03:07
【问题描述】:

我有一个几乎可以工作的功能 - 它验证以下形式的电子邮件地址格式:

  • 必须有@符号
  • @符号后必须有一些字符串。
  • 必须有一个'.'之后是另一个字符串。

目前它不起作用,因为我不知道如何正确插入一个接受用户输入的任何字符串的变量 - 如何实现?

【问题讨论】:

  • "如何实现" 使用正则表达式。但说真的,为什么没有正则表达式?
  • 听起来像是不允许正则表达式的家庭作业
  • jQuery Validate 插件中内置的regex 已经很好地处理了这个问题。可惜你不想使用它。

标签: jquery email-validation


【解决方案1】:

我不会自称是电子邮件验证专家。

如果你真的不能使用正则表达式,可以这样做:

function validateEmail(str){
   var index_at= str.indexOf('@')
   if( index_at === -1){
       return false;
   }   

    var name= str.substr(0,index_at);
     /* should test name for other invalids*/

    var domain=str.substr(index_at+1);
    /* should check for extra "@" and any other checks that would invalidate an address of which there are likely many*/
    if( domain.indexOf('@') !=-1){
        return false;
    }
    /* dot can't be first character of domain*/
   return domain.indexOf('.') >0;

}

演示:http://jsfiddle.net/v43Hw/

强烈建议使用经过电子邮件标准测试的正则表达式以获得更高的可靠性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    相关资源
    最近更新 更多