Ilj*_*lja 8 javascript validation jquery
我有一个字段供用户写入他们的电子邮件地址.它是可选的,所以我需要首先检查是否在该字段中输入了内容,如果没有输入则什么都不做,但是如果输入的内容比检查是否有是一封电子邮件.
现在我就在这一点上
var email = $("input#sc_email").val();
if (email == "") {
// If e-mail field is empty do nothing
} else {
// If something was entered
// [CODE HERE] Check if valid e-mail was entered, if not show error message
$("label#email_error").show(); //error message
$("input#sc_email").focus(); //focus on email field
return false;
}
Run Code Online (Sandbox Code Playgroud)
我甚至不确定这是否正确,但我认为确实如此.现在我需要帮助解决代码中的漏洞,我将其标记为[CODE HERE].有人可以建议一个解决方案.
Ror*_*san 20
您可以使用jQuery validate插件,但如果您只想在一个字段中检查电子邮件地址的有效性,那就有点过分了.
相反,如果输入了值,则下面函数中的正则表达式将确保电子邮件地址的格式正确.
var email = $("input#sc_email").val();
if (email !== "") { // If something was entered
if (!isValidEmailAddress(email)) {
$("label#email_error").show(); //error message
$("input#sc_email").focus(); //focus on email field
return false;
}
}
function isValidEmailAddress(emailAddress) {
var pattern = 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][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i);
return pattern.test(emailAddress);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24998 次 |
| 最近记录: |