强制小写和符号的Jquery验证

k7fdbhmy  于 2023-01-20  发布在  jQuery
关注(0)|答案(2)|浏览(87)

我已经成功地失败了。我正在尝试允许小写字符和符号。我不是很擅长regex,所以请随意笑

$.validator.addMethod('lowercasesymbols', function(value) {
    return value.match(/^[a-z-"?=.*[!@# $%&\/=?_.,:;\\-]"]+$/);
}, 'You must use only lowercase letters and symbols in your entry');

谢谢你的帮助。

twh00eeo

twh00eeo1#

就像你在评论中说的,“我只是想限制数字和大写字母。”
要做到这一点,只需做一个测试:

$.validator.addMethod('lowercasesymbols', function(value) {
    return value.match(/^[^A-Z0-9]+$/);
}, 'You must use only lowercase letters and symbols in your entry');

这样的话,你匹配的是任何不是 * A-Z或0-9的东西。如果它以这种方式到达结尾,你的字符串就不包含这两个东西。
这样你也可以使用任何希腊字母(包括大写),重音字母(包括大写),等等,所以这可能不是你想要的,但如果你只是想限制大写字母和数字,这是你应该使用的。
为了只允许使用您提到的符号,您仍然需要转义方括号(\[\]),这会导致问题。另外,您的范围中有多个相同的字符,我已经删除了这些字符。最后,您应该 * 始终 * 将破折号保持在范围的末尾,否则它将像是前面字符的范围一样匹配,到后面的字符。在您的示例中,它试图将字符\匹配到],但这不会起作用。这是我清理的结果:

$.validator.addMethod('lowercasesymbols', function(value) {
    return value.match(/^[a-z\[!@# $%&*\/?=_.,:;\\\]"-]+$/);
}, 'You must use only lowercase letters and symbols in your entry');
to94eoyn

to94eoyn2#

$.validator.addMethod('mypassword2', function(value, element) {
    
   return this.optional(element) || value.match(/[a-z]/);

},"Password must contain at least  one lowercase character");

相关问题