javascript - 尝试使用 formvalidator.net 为 "alpha"编写自定义验证器?

标签 javascript jquery regex validation

我正在使用 formvalidator.net jQuery 插件并尝试编写一个不接受数字输入的自定义验证器(“字母数字”类型允许数字)。我编写了下面的函数,但不确定要为 $el, config, language, $form 参数传递什么,而且我不理解文档,该文档位于:http://formvalidator.net/#custom-validators

文档解释了参数,但我不知道如何正确格式化它们;我对 jQuery 很陌生,对 Javascript 也很陌生。任何帮助将不胜感激。

这是我的代码,感谢您的帮助!

$.formUtils.addValidator({
  name : 'non-numeric',
  validatorFunction : function(value, $el, config, language, $form) {

    var numericRe = /[0-9]/;
    return !numericRe.test(value);

  },
  errorMessage : 'Please enter a valid name (no numbers)',
  errorMessageKey: 'badContainsNumber'
});                 

$.validate();

最佳答案

您需要做的就是在表单中引用 name 属性:

<input type="text" data-validation="non-numeric" />

$elconfig语言$form 参数会自动传递给 validatorFunction 回调函数。它们是为了您的方便(value 是值,$el 是输入,不确定 configlanguage 无需阅读文档,$form 就是表单)。

目前,您的自定义验证器将允许任何内容,只要它没有数字(因此 !@# 进行验证,这不是“alpha”)。如果你想要pure "alpha" ,使用这样的函数:

function(value, $el, config, language, $form) {
    return /^[a-z]+$/i.test(value);
}

^$ 会将匹配锚定到字符串的开头/结尾,而 i 使其不区分大小写。请注意,这将查找 1 个以上的字母,如果您希望字符串在空时有效,则需要 0 个以上的字符:[a-z]*

关于javascript - 尝试使用 formvalidator.net 为 "alpha"编写自定义验证器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23839614/

相关文章:

regex - 编写选择 VBScript 类及其名称的正则表达式

python - Unicode re.sub() 不适用于\g<0>(第 0 组)

c# - C# 中最好的 Regex 模式是什么,可以忽略 perl 中的某些字符组,如 (*SKIP)(*F)?

javascript - 将对象传递给事件 jQuery

javascript - 如何使用 ngx-datatable 制作水平表格

javascript - 只有当它被拖到无效的 droppable 上时,如何才能让 draggable 恢复到原始位置?

javascript - 如何根据在另一个日期选择器中选择的月份在一个日期选择器中显示月份

javascript - 如何在 Angular JS 中将 obj 转换为字符串

javascript - 如何使用任何方法根据屏幕宽度调整 div 的大小

jquery - 如何让 3 个 div 重叠以允许点击触发所有底层 div 的事件处理程序?