我有一个新的验证要求,我试图用最好的方法来完成。
我有一个字段是电子邮件地址或用户名。
该要求要求如果用户输入电子邮件,则将运行电子邮件验证(内置方法),否则验证将是带有基本标点符号的字母。
所以我的想法是——如果输入了@,则运行电子邮件验证——否则运行带有基本标点符号的字母——但我正在寻找可能的其他方法的输入。
另外,在这种情况下,如果/否则,您将如何编写两部分验证?
我有一个新的验证要求,我试图用最好的方法来完成。
我有一个字段是电子邮件地址或用户名。
该要求要求如果用户输入电子邮件,则将运行电子邮件验证(内置方法),否则验证将是带有基本标点符号的字母。
所以我的想法是——如果输入了@,则运行电子邮件验证——否则运行带有基本标点符号的字母——但我正在寻找可能的其他方法的输入。
另外,在这种情况下,如果/否则,您将如何编写两部分验证?
$("#frm").validate({
rules: {
username: {
required: true,
usernameemail: true,
maxlength: 100
}
}
});
$.validator.addMethod("usernameemail", function(value, element) {
if (this.optional(element)) // return true on optional element
return true;
valid = true;
if (value.indexOf("@") > 0) {
valid = valid && $.validator.methods.email.call(this, value, element);
} else {
valid = valid && $.validator.methods.username.call(this, value, element);
}
return valid;
}, 'Please provide a valid username or email');
$.validator.addMethod("username", function(value, element) {
return this.optional(element) || /^[a-z0-9\-]+$/i.test(value);
}, "Username must contain only letters, numbers, or dashes.");
您需要将用户名正则表达式更改为您需要的,希望这会有所帮助