-1

我正在尝试验证我网站上的电子邮件地址,并且我一直在尝试编写一个演示如何使用 JavaScript 进行电子邮件验证。我要做的是将用户输入的电子邮件地址的值传递给 validateEmail 函数,然后在 id 为“结果”的 div 中打印出“有效”或“无效”。因为我对 JavaScript 比较陌生,所以我不确定如何做到这一点,并且想知道是否有人可以向我展示如何做到这一点的示例?

<head>
<title>Practice</title>

<script type="text/javascript">
function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
} 
</script>
</head>
<body>
    <form action="post" method="practice.php">
        e-mail: <input id="email" type="text" onblur="validateEmail(execute(document.getElementById('email').value))" />
        <div id="result"></div>
    </form>
</body>
4

1 回答 1

1

首先,您不需要使用execute方法并且可以valuethis上下文中获取:

validateEmail( this.value )

然后修改您的函数以打印结果:

function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    if(re.test(email)) {
        document.getElementById('result').innerHTML = 'valid';
    } else {
        document.getElementById('result').innerHTML = 'invalid';
    }
} 
于 2012-07-02T13:32:56.003 回答