JavaScript:如何将包含逗号的输入从用户转换为数字?

JavaScript: How do I convert input that contains commas from a user to a number?

当我将测试值(具体来说是数字)输入到我的薪酬计算脚本中时,它工作正常(例如 10000)。但是当我输入一个带逗号的测试值时(想想“10,000”或“10,000 美元”),脚本读取值直到逗号所在的位置(想想“10”而不是“10,000”)。我将如何解决这个问题。

var valueFromPrompt = window.prompt(...)
var valueNowANumber = +valueFromPrompt.replace(/[^\d\.]/g, '');

将所有非数字(模式/[^\d\.]/g)替换为空白。前导 + 将字符串转换为数字。转换空白字符串(因为原始字符串中没有数字)使其成为 0.

现在这不会涵盖数字的所有边缘情况,因此您可能需要调整模式。您可能想阅读有关 Regular Expressions

的更多信息