javascript - 使用可选逗号检查数值 javascript

标签 javascript jquery regex

我需要检查一个值是否是数字并且可选地包含逗号。

我试过了

var input=3433;
var pattern=/^[1-9]\d{0,2}(\.\d{3})*(,\d+)?$/;
pattern.test(input);

但它总是给我错误;

我不想使用 $.isNumeric 因为它不检查逗号。

最佳答案

假设您使用逗号作为千位分隔符,最简单的方法是在转换时删除逗号:

var num = +str.replace(/,/g, '');
if (!isNaN(num)) {
    // It's a valid number
}

如果您的语言环境使用 . 作为千位分隔符,使用 , 作为小数点(正如您的正则表达式似乎建议的那样),因为 JavaScript 总是以相反的方式使用它们,我们首先要在字符串中更改更多内容:

var num = +str.replace(/\./g, '').replace(/,/g, ".");
if (!isNaN(num)) {
    // It's a valid number
}

关于javascript - 使用可选逗号检查数值 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30708956/

相关文章:

javascript - 如何检测加壳并美化这个js

javascript - 通过ajax调用从php文件接收多个值

javascript - 使用 ionic 框架的 Sinch 视频通话 ios 应用程序

javascript - JSONP jQuery 中的回调函数

python - 如何使用多个相关模型处理批量创建?

c++ - 用正则表达式匹配中的另一个替换特定字符?

javascript - 循环遍历表并添加类

javascript - 从 iframe 获取 url 并在浏览器 url 中更新哈希

python - 在格式化文本文件中查找一段文本

regex - Oracle 正则表达式替换负前瞻/后瞻