您好,我正在尝试创建一个识别输入的钱和数字的正则表达式。我必须允许数字,因为我希望以编程方式输入非格式化数字,然后我将自己格式化它们。出于某种原因,我的正则表达式允许一个字母字符作为可能的输入。
[\$]?[0-9,]*\.[0-9][0-9]
我知道我的正则表达式接受添加多个逗号并且还需要小数点后两位数的情况。我已经知道如何解决这个问题了。我已经把它缩小到可能是*\.
问题所在
编辑
我找到了有效的正则表达式,[\$]?([0-9,])*[\.][0-9]{2}
但我仍然不知道它最初是如何或为什么失败的
我正在使用将.formatCurrency()
输入格式化为货币格式。它可以在这里找到,但它仍然允许我使用字母字符,所以我必须使用在此处$(this).inputmask('Regex', { regex: "[\$]?([0-9,])*[\.][0-9]{2}" });
找到输入掩码的地方进一步屏蔽它, 并且是对文本类型输入元素的引用。我的代码看起来像这样$(this)
<input type="text" id="123" data-Money="true">
//in the script
.find("input").each(function () {
if ($(this).attr("data-Money") == "true") {
$(this).inputmask('Regex', { regex: "[\$]?([0-9,])*[\.][0-9]{2}" });
$(this).on("blur", function () {
$(this).formatCurrency();
});
我希望这有帮助。我尝试创建一个 JSfiddle 但 Idk 如何添加外部库/插件/扩展