Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript动态输入掩码_Javascript_Jquery - Fatal编程技术网

Javascript动态输入掩码

Javascript动态输入掩码,javascript,jquery,Javascript,Jquery,我想知道是否有一个插件将设置输入的掩码,这取决于我在那里已经输入的内容。 例如,如果我将输入的掩码设置为0-4之间的数字,然后将“1”写入输入,我希望只能写入“0”、“2”、“3”、“4”。 我已经尝试了以下掩码插件: http://digitalbush.com/projects/masked-input-plugin/ 但我只能做到这一点,整个输入在写字符后清晰,或者插入符号在输入的后面,或者我不能写任何东西。 以下是我为实现我的目标所做的努力: jQuery.mask.definiti

我想知道是否有一个插件将设置输入的掩码,这取决于我在那里已经输入的内容。 例如,如果我将输入的掩码设置为0-4之间的数字,然后将“1”写入输入,我希望只能写入“0”、“2”、“3”、“4”。 我已经尝试了以下掩码插件:

http://digitalbush.com/projects/masked-input-plugin/
但我只能做到这一点,整个输入在写字符后清晰,或者插入符号在输入的后面,或者我不能写任何东西。 以下是我为实现我的目标所做的努力:

jQuery.mask.definitions['x'] = '[123456789]';
jQuery('#inputLabel').mask("x, x, x, x, x, x, x");
如果我在输入中输入了一些东西,我会这样做: 再次设置掩码

jQuery.mask.definitions['x'] = returnDistinctTab(); //returnDistinctTab return tab without character which I have already input to the input.
var text = jQuery("#inputLabel").val();
text.replace('_', 'x');
jQuery('#inputLabel').mask('text');
如果有人知道我做错了什么,或者知道哪种面具适合我的情况,我将非常感激

您可以使用,并编写一个简单函数来强制列表中的唯一值:


函数验证输入(txt,掩码){
var-res='';
对于(变量i=0;i-1&&res.indexOf(char)=-1)
res+=char;
}
返回res;
}

如果我没弄错的话,该插件会做一些与您描述的不同的事情。你正在寻找一种方法,将输入限制为唯一的数字,而该插件为输入数字制作了一些可读的模板(很接近,但不完全相同)。@yuvi是的,这就是我想要实现的。我想实现动态输入掩码。如果我将掩码设置为“0123”并写入0,掩码应更改为“123”,那么如果我写入1,掩码应更改为“23”,输入中的文本不应消失,插入符号不应转到文本的结尾。有了这个插件,我无法重新设置掩码而不丢失我在输入中已经写的内容,或者插入到输入的末尾。看起来这就是我想要实现的!我将在我的代码中检查这一点,如果它能工作(在我需要的任何浏览器中),我将接受它作为一个答案:)@LubiePice浏览器对
oninput
的兼容性是,即使IE9也支持它。如果您必须使用较旧的浏览器,请查看哪些浏览器可能有助于您使其正常工作我检查一下,它与Mozilla 31/Chrome/IE 8+配合使用很好,对我来说也很好!再一次谢谢你!我认为mask中的
char
应该是
mask.indexOf(char)>-1
<掩码中的code>char检查
mask
数组是否具有值为
char
的索引,而不是是否具有值为
char
的索引。您的示例在这里意外地起作用,因为
mask
中的值恰好与其索引重合。@DecentDabbler您完全正确,已修复,谢谢!