我在jquery中遇到掩码问题,我想制作一个掩码,允许我输入任意字母0-n次。 我有这样的事情:
$.mask.definitions['@']='[A-Za-z]';
$('#textMask').mask("@@@@@@@@@@");
但是使用我的代码我只能插入十个字符。任何人都有想法如果它当然可能吗?
我想到这样的事情:
$('#textMask').mask("@*");
但这允许我插入一个字母和一个字符,无论什么字符。例如d5等 简而言之,我想允许用户键入仅包含字母的文本。 e.g。
abcdEEEE
abRFdas
a
//empty field
bfdjksgbjfdsgbjklfbjklfgnfljkgbnhlfsdjgnfdlskgnfdsgfhsdlgdf
...
等
我使用了JQuery 1.10.3和插件版本1.3.1(http://digitalbush.com/projects/masked-input-plugin/)
答案 0 :(得分:1)
JQuery Mask plugin如果您在mask
字段上应用<input>
方法,则会自动为其分配maxlength
个属性。因此,当您执行$('#textMask').mask("@*");
时,您会得到<input id='textMask' maxlength='2'/>
之类的内容。为避免这种情况,您可以在掩码上设置maxlength
属性。另一方面,要实现0-n次,您可以使用recursive
属性。所以最后接受0-n次信:
$('#textMask').mask('@', { 'translation' : { '@' : { pattern : /[A-Za-z]/, recursive: true, }}, maxlength : false });
请注意,如果您之前在输入字段中设置mask
,则可能设置maxlength
属性并指定maxlength : false
未设置此属性(我认为这就像一个错误) ,所以先前在你的元素上应用unmask()
。
基于评论的编辑:
您使用的是哪个版本的JQuery和插件掩码?我使用1.11.0的JQuery和1.7.4的插件掩码并正确检查this jfiddle
希望这有帮助,