使用jQuery.Validate检查非法字符组合

时间:2013-05-14 02:42:00

标签: jquery jquery-validate

尝试检查html表单上的输入,以确保它在字符串中不包含&#。我正在使用jQuery.Validate http://bassistance.de/jquery-plugins/jquery-plugin-validation并且我需要检查其他输入所需的所有正则表达式,但需要确保一个字段特别没有&和#在一起。诀窍是这些字符在字段中是允许的,只是不在一起。因此,用户可以将iAm和某些#Test放在一起但不能放入iAm& #someTest。

这是检查字段的方法:

  jQuery.validator.addMethod("allowed", function(value, element) {
    return this.optional(element) || /^[0-9a-z\-.,:?!@$*&#]+$/i.test(value);
     }, "");

假设检查会是这样的:

 jQuery.validator.addMethod("dissallow", function(value, element) {
    return this.optional(element) || /^[&#]+$/i.test(value);
 }, "");

但这只是检查以确保&和#是允许的。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您需要检查两个连续字符是否属于不允许的组,如下所示

jQuery.validator.addMethod("dissallow", function(value, element) {
    return this.optional(element) || !(/[&#][&#]/i.test(value));
}, "Some rule");

演示:Fiddle