我正在Chrome中运行以下javascript。当我期望“ 123456.78”时,它会产生一个空白字符串。
var amt = "$123,456.78";
digitRegex = /(\d|\.)*/
amtarr = digitRegex.exec(amt);
amtstr = amtarr.join("");
alert(amtstr);
有任何想法吗?
最终代码如下:
moneyRegex = /^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{1,2})?$/
amt = $("#txtAmt").val();
amtok = (amt.search(moneyRegex) != -1);
amtval = 0;
if (amtok == true) {
digitRegex = /[\d\.]+/g
amtarr = digitRegex.exec(amt);
amtstr = amtarr.join("");
alert(amtstr);
}
最佳答案
你可以尝试
digitRegex = /(\d|\.)*/g
得到所有比赛。您还可以使用:
digitRegex = /[\d\.]+/g
对于您尝试做的事情应该没问题。
关于javascript - Javascript Regex Exec不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6841359/