Javascript表单验证问题

时间:2013-12-24 17:55:51

标签: javascript html email

我在我的ecard网站上使用了一个简单的javascript表格验证功能。

这是功能: http://jimpix.co.uk/dist/js/ecard.js

这是一个调用.js文件的示例页面: http://jimpix.co.uk/ecards/4244-new-year.html

这是我遇到问题的功能的相关部分:

// otherwise split the string using commas
var cCheck = myString.indexOf(",");
if (cCheck === -1) {
    var cMsg = 'Please remember to split email addresses with a comma';
}
var fback = "";
for(i = 0; i < mySplitResult.length; i++){
    emailCheck = validateEmail(trim(mySplitResult[i]));
    if (false === emailCheck) {
        fback = fback + "\n" + mySplitResult[i];
    }
}
if (!!fback) {
    fback = 'Please correct the following email addresses:\n ' + fback;
    if (!!cMsg && i === 1) {
        fback = fback + '\n\n' + cMsg;
    }
    alert(fback);
    theForm.whotoemail.focus();
    return false;
}

当用户输入收件人电子邮件地址时,他们需要用逗号分隔它们。

表单只接受10个电子邮件地址,但用户经常在最后一个电子邮件地址末尾留下逗号。

当他们这样做,然后点击预览或发送电子贺卡时,他们会收到一条消息:

请更正以下电子邮件地址:

但是,没有要更正的电子邮件地址 - 只是表单值中的最后一个字符是逗号。

我只是想知道如果“whotoemail”字段中的最后一个字符是逗号,是否有人可以建议如何让javascript不拆分。

或者如果有更整洁的解决方案?

非常感谢任何建议。

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以轻松解决问题:

for(i = 0; i < mySplitResult.length; i++){
    if(mySplitResult[i] == "")
        continue; // skip empty strings