jQuery Mask不允许递归输入

时间:2014-07-02 20:08:20

标签: javascript jquery jquery-plugins

我需要使用jQuery Mask Plugin(http://igorescobar.github.io/jQuery-Mask-Plugin/)来屏蔽表单字段以仅允许facebook页面网址。我目前使用的代码是:

$('input.facebook').mask('https://facebook.com/R', {translation:  {'R': {pattern: /[\S]/},recursive: true}, maxlength: false});

这几乎可以使用,但我只能在' ... k.com/'之后输入一个字符,当我需要输入任意数量的字符时。

知道我做错了吗?

1 个答案:

答案 0 :(得分:3)

看起来递归选项位于错误的位置,它应该是模式的兄弟。

http://jsfiddle.net/WXnh8/3/

$(document).ready(function() {
  $('input.facebook').mask('https://facebook.com/ZZ', {
    translation: {
      'Z': { pattern: /\S/, optional: true, recursive: true}
    },
    maxlength: false
  });
});

我们在匹配器中使用ZZ而不是Z,因为递归意味着重复掩码内在的任何静态字符,因此出于某种原因,如果只有一个匹配字符,它会在它之前重复静态字符。