带有 JQuery 和正则表达式的输入掩码

Posted

技术标签:

【中文标题】带有 JQuery 和正则表达式的输入掩码【英文标题】:Input mask with JQuery and regexp 【发布时间】:2011-10-05 15:50:02 【问题描述】:

我正在寻找 javascript 或 JQuery 解决方案(客户端):

屏蔽输入:禁止用户输入非法字符 接受像^[-+]?[0-9]+(\.[0-9]+)?这样的正则表达式 格式化输入 千位分隔符=, 小数分隔符=.

例如,我希望 1234.56 显示(更改为)'1,234.56`。

Masked Input Plugin 不允许格式化(我不能在小数点分隔符前告诉它[0-9]+)。

meioMask 允许999.999.999.999,99 格式,但值被转换为字符串。 Java 中与 Double 的绑定失败。

您有建议、研究领域吗?

【问题讨论】:

这并不能直接回答您的问题,但也许可以让您的生活更轻松!签出:plugins.jquery.com/project/numberformatter 【参考方案1】:

我听从了 Ayman Safadi 的建议,并使用了 plugins.jquery.com/project/numberformatter 来格式化和解析输入。

我存储在alt字段中输入的值,并在用户聚焦时恢复到value(并格式化onBlur)。

此解决方案不会阻止输入(例如,防止在金额中键入字母)。任何其他想法都应该不胜感激。

【讨论】:

以上是关于带有 JQuery 和正则表达式的输入掩码的主要内容,如果未能解决你的问题,请参考以下文章

带有正则表达式的 Jquery input.mask

查找并替换识别号输入掩码的正则表达式

使用正则表达式掩码实时控制浮点输入

带有逗号分隔符的数字的正则表达式验证

使用正则表达式验证掩码和货币的限制范围

用于防止输入任何不匹配正则表达式的输入的 jquery 插件