gpt4 book ai didi

javascript - jQuery 验证插件 : test value for email pattern?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:37:58 24 4
gpt4 key购买 nike

我在我网站上的所有表单上都使用了 jQuery 验证插件。

例如所以:

$("#accountUserSettingsForm").validate({
rules: {
'user[email]': {
required: true,
email: true
}
},
messages: {
'user[email]': {
required: "*",
email: "No valid email address."
}
},
submitHandler: function() {
// do something
}
});

这很好用。现在我想知道是否也可以测试一个简单的 $('#selector') 以获得有效的电子邮件地址,如果可以的话,做点什么。所以根本没有任何形式?

例如我有一个 ID 为 #email 的输入,我目前处于一个按键功能中,每当输入该输入内的一个键时,我都会触发功能。

是否可以简单地测试这个#email 字段以获得有效的电子邮件并做一些事情?像……

if ( $('#email').validate(rules:email) ) {
is_email = true;
}

那个插件可以吗?

提前致谢!

最佳答案

不是那么简单,但可以通过以下方式完成:

$.validator.methods.email.call(
{optional:function(){return false}},
$('#email').val(),
$('#email'));

如果是有效的电子邮件,此调用将返回 true

简短说明:

第一行:可以直接调用email的validator方法

第二行:你必须提供一个返回 false 的方法,这表明这个字段不是可选的。

第三行:提供实际值

第四行:提供元素,这不是真正必要的,您可以不提供任何东西,它会起作用。电子邮件验证器使用此元素来检查它是否是可选的。但是,无论我们得到什么参数,我们都会提供一个 false,这并不重要

为了使事情更简单一些,您可以将其包装在您自己的插件中:

(function($){
$.fn.validate_email = function(){
var text = this.first().text();

return $.validator.methods.email.call(
{optional:function(){return false}},
text,
this);
};
})(jQuery);

并用 $('#email').validate_email() 调用它

关于javascript - jQuery 验证插件 : test value for email pattern?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8022926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com