允许 Dash 使用 jQuery 屏蔽输入插件

Bri*_*ght 0 jquery maskedtextbox

我试图屏蔽一个文本字段并查看了http://digitalbush.com/projects/masked-input-plugin

我创建了一个自定义掩码定义,以允许姓氏具有 A-Za-Z 和空格。

如何在蒙版中添加破折号?我尝试像下面的示例一样转义它:

$.mask.definitions['~'] = '[A-Z,a-z,\-, ]';
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用。

jmb*_*all 5

definitions对象本质上是一组带键的正则表达式字符类。键是特殊的掩码编辑字符。默认情况下,如果您查看屏蔽编辑插件的源代码,您会发现它定义了三个(分别为“9”、“a”和“*”):

definitions: {
  '9': "[0-9]",
  'a': "[A-Za-z]",
  '*': "[A-Za-z0-9]"
}
Run Code Online (Sandbox Code Playgroud)

因此,您所需要做的就是声明一个正确的正则表达式字符类。由于“-”是字符类的元字符(它定义类内的范围;如 az),因此您必须将其放在第一位。所以答案是

$.mask.definitions['~'] = '[-A-Za-z ]';
Run Code Online (Sandbox Code Playgroud)

这将允许掩码中的“~”字符替换为字母字符、空格或连字符。