2014-07-02 41 views
1

我需要使用jQuery Mask Plugin(http://igorescobar.github.io/jQuery-Mask-Plugin/)来屏蔽表单域以仅允许Facebook页面url。我使用的是当前的代码是这样的:jQuery Mask不允许递归输入

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

这几乎工作,但我只能在“... k.com/”后输入一个字符,当我需要能够进入任何字符数。

任何想法我做错了什么?

+0

谢谢你问它,jquery igor的文档是绝对废话,我搜索3小时这样简单的掩码 – Melvin

回答

2

它看起来像递归选项是在不正确的地方,它应该是模式的兄弟姐妹。

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的匹配,因为递归是为了重复固有的面具任何静态字符,所以出于某种原因,如果只有一个匹配的字符,它在它之前重复静态字符。

+0

递归选项的全部目的是不必做这样的事情。我只需要正确的语法来实际工作。一些演示使用递归选项。你可以在这里看到它们:http://igorescobar.github.io/jQuery-Mask-Plugin/ –

+0

啊,我明白你的意思了。我已经缩小了这个问题,递归选项应该是该模式的兄弟参数。 (更新原始的W /代码和新的小提琴。)但是,当递归匹配器紧跟在斜线后面时,jQuery Mask似乎在不必要地向输入添加了斜杠字符。 –

+0

作者博客上的一篇文章指出,在该掩码中有前缀/后缀并不真正支持此插件,因此我上面编辑的代码是递归功能的正确用法,但是您尝试完成的操作可能会在这种情况下不是本地可能的。 http://www.igorescobar.com/blog/2012/05/06/masks-with-jquery-mask-plugin/comment-page-2/#comment-75846 –

相关问题