验证不在表单上工作

时间:2013-10-13 02:43:43

标签: javascript html

当用户在电子邮件区域输入内容时(显然已经过验证),我正在尝试关闭提交按钮,但由于某种原因它无效。

我的验证有什么问题?

function validateEmail(email) {

    var btnSubmit = document.getElementById("submitButton");


var re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

 btnSubmit.disabled = !(validateEmail(email));


}  

我做错了什么?当用户输入的区域发生变化时,会调用该函数(onchange =(“validateEmail(email);”);

//////在给出解决方案之后,我尝试了它并且JavaScript工作了! ()但是我觉得我错误地调用了一些东西,因为我正在警告:

。禁用该按钮,因为您输入的电子邮件无效。:[object HTMLInputElement]

以下是我打电话的方式。

JavaScript是解决方案的小提琴。

1 个答案:

答案 0 :(得分:0)

代码问题:

1。函数不做任何验证。

你的功能什么都不做,而不是每次递归调用自己。

2。您没有使用创建的正则表达式

您为电子邮件制作的正则表达式不用于检查电子邮件字符串是否有效。

溶液:

您应该使用正则表达式来检查电子邮件字符串是否有效。并相应地应用后果。

function validateEmail(email) {

    var btnSubmit = document.getElementById("submitButton");
    var re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if( re.test(email) ){
        return true;
    } else {
        btnSubmit.disabled = true;
        return false;
    }



} 

这是一个working demo