如何限制 ext js 文本字段中的特定字符?

how to restrict specific characters in ext js textfield?

如何限制 ext js 文本域中的特定字符(如撇号、!、^ 等)只能通过按键输入? 我使用了下面的代码,它只允许提到的字符

{
xtype:"textfield",
maskRe: new RegExp("[a-zA-Z1-9_\s@#$&~`]+$"),
allowBlank : false
}

您需要添加行首 ^ 锚点,以便它检查字符串是否完全匹配,您还需要再次转义反斜杠。

new RegExp("^[a-zA-Z1-9_\s@#$&~`]+$")

您可以参考Ext Js组件TextField的vtype属性。 vtype

要指定受限字符而不是允许字符,只需在方括号内添加 ^,这意味着 "any character except...":

maskRe: /[^!\^]/

(=除!^之外的任何字符)

另见 this fiddle

另请注意,没有必要使用 +^$ 等运算符,因为与 maskRe 一起使用的正则表达式是针对每个单个字符进行测试的要输入的,不是针对字段的值。