$.validator.addMethod('lowercasesymbols', function(value) {
return value.match(/^[a-z-"?=.*[!@# $%&\/=?_.,:;\\-]"]+$/);
}, 'You must use only lowercase letters and symbols in your entry');
$.validator.addMethod('lowercasesymbols', function(value) {
return value.match(/^[^A-Z0-9]+$/);
}, 'You must use only lowercase letters and symbols in your entry');
$.validator.addMethod('lowercasesymbols', function(value) {
return value.match(/^[a-z\[!@# $%&*\/?=_.,:;\\\]"-]+$/);
}, 'You must use only lowercase letters and symbols in your entry');
$.validator.addMethod('mypassword2', function(value, element) {
return this.optional(element) || value.match(/[a-z]/);
},"Password must contain at least one lowercase character");
2条答案
按热度按时间twh00eeo1#
就像你在评论中说的,“我只是想限制数字和大写字母。”
要做到这一点,只需做一个测试:
这样的话,你匹配的是任何不是 * A-Z或0-9的东西。如果它以这种方式到达结尾,你的字符串就不包含这两个东西。
这样你也可以使用任何希腊字母(包括大写),重音字母(包括大写),等等,所以这可能不是你想要的,但如果你只是想限制大写字母和数字,这是你应该使用的。
为了只允许使用您提到的符号,您仍然需要转义方括号(
\[
和\]
),这会导致问题。另外,您的范围中有多个相同的字符,我已经删除了这些字符。最后,您应该 * 始终 * 将破折号保持在范围的末尾,否则它将像是前面字符的范围一样匹配,到后面的字符。在您的示例中,它试图将字符\
匹配到]
,但这不会起作用。这是我清理的结果:to94eoyn2#