2016-02-28 42 views
0

有没有办法阻止或限制输入字段中的特殊字符jquery-validationjquery验证限制字符直播?

例如,我想只授权那些字符[0-9\/]*

我读过整个文档,但是我还没有找到任何东西。所以相反,我必须为此编写特殊代码,这不是代码的好选择。

我已经看到,其他JavaScript插件验证可以通过使用requirementType这样做,如Parsley。但我不想将插件更改为另一个原因,我现在已经知道如何使用它。

+0

不确定你对浏览器的兼容性有什么限制......但是这个MDN条目可能有些用处:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input #ATTR模式。有关此功能支持的信息 - 请参阅 - http://caniuse.com/#search=pattern – Lix

回答

0

使用jQuery验证,您可以使用此方法(http://jqueryvalidation.org/jQuery.validator.addMethod)添加使用JavScript正则表达式匹配的验证器,以便在输入与您的模式匹配时返回true或false。这是一种与您正在使用的库集成的非常简单的方法。

如果您希望从字面上防止用户输入除这些以外的字符,则需要将事件处理程序附加到输入并在keyDown事件中阻止这些字符。

无论哪种方式,匹配逻辑都是一样的。

+0

请参阅我的编辑,您需要使用事件处理程序。 –

+0

好吧,但如果我这样做,就像我有两个验证端点。我很确定有一个更好的方法来做到这一点。 – Clemzd

+0

您仍然只有1个验证端点。验证器只会在字段值更改时运行。如果字符不被允许,输入限制将停止更改值。这是有道理的,还是我错过了你需要它的工作方式? –