0
var val_em=document.add_indus_detail_form.txt_email.value;
var atpos=val_em.indexOf("@");
var dotpos=val_em.lastIndexOf(".");
if(val_em!='')
{
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=val_em.length)
      {
      alert("Not a valid e-mail address");
      return false;
      }
    }       

我使用这个条件来检查用户在文本框中输入的电子邮件验证,我如何验证它,就像它允许 3 或 4 或任何特定数量的点允许(例如 abc.abc.abc.abc@abc.abc.com)之前在 @ 之后,但不允许将这些点放在一起(例如:abc@abc...com)。也不允许电子邮件中的空格,这将如何让您对这种类型的验证有任何想法..

4

2 回答 2

0

我会为此建议一个正则表达式

function validateEmail(email){
    var emailReg = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    var valid = emailReg.test(email);
    if(!valid) {
        return false;
    } else {
        return true;
    }
}

需要时调用该函数validateEmail....

于 2013-10-25T05:55:58.493 回答
-1

JavaScript 中的验证是无用的。用户可以关闭 JS 或者你可能会遇到一个连 JS 都看不懂的浏览器。这使您的页面容易受到攻击。所以永远不要使用 JS 来验证用户输入。

您想要的是 RegEx 或许多 if 条件以及字符串函数。我的方法:使用 For-Loop,逐个遍历字符串,检查当前字符和之后的字符。像这样:

for($i = 0; $i < strlen($string); $i++) {
    if(substr($string, 0, 1) == '.' {
        //do something
    }
}
于 2013-10-25T05:57:18.620 回答