【问题标题】:How to avoid space at the end of string using maskRe in ExtJS?如何在 ExtJS 中使用 maskRe 避免字符串末尾的空格?
【发布时间】:2018-08-20 15:36:54
【问题描述】:

我有一个文本字段,用户应该能够在字符串末尾留出空格,但它们可以在两个字母之间。我用过

maskRe:/[^\s]/

但这会阻止用户在字母之间输入空格。怎么做?

【问题讨论】:

  • @WiktorStribiżew 注意到,maskRe 只是防止无效的击键,但不检查顺序。为了检查订单,您可以使用验证功能。请参阅此处以通过演示 stackoverflow.com/a/40740754/7500028 获得他的答案。因此,对于 maskRe,您应该允许空格。 (您甚至可以删除 maskRe?),并且可以使用 \S$ 进行验证

标签: javascript regex extjs


【解决方案1】:

尝试使用它来检查它是否以无空格字符结尾:\S$

其中$ 表示字符串/行的结尾。并且\S 被否定-\s(这是任何类型的空格)

Demo

另外,使用regex: 代替maskRe:

【讨论】:

  • 它不起作用,因为maskRe 只针对类型化的字符运行正则表达式,并且完全不知道输入该字符的上下文。这是一个相关的blog post
  • 感谢@WiktorStribiżew。我会删除我的答案。我将该信息添加到对主要问题的评论中,并引用了您对类似问题的一些回答。
  • 好吧,您可以使用regex: 字段并保留答案。我们不知道 OP 真正追求的是什么:实时验证或最终提交验证。
猜你喜欢
  • 2022-06-20
  • 1970-01-01
  • 1970-01-01
  • 2013-09-11
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-16
相关资源
最近更新 更多