javascript - 是否可以使用正则表达式去除字符串中超过 X 位的数字?

标签 javascript regex

当在字符串中找到 6 个或更多数字时,我试图从字符串中删除数字。

我不想删除字符串中的所有 数字,只删除第 6 位及之后的任何数字。前5个需要保留。

例如:

var val = 'Hello, this is my text. I was born in 1984, and currently my age is 29 years';
if (val.match(/[0-9]/g, '').length > 5) {
    // strip any digits beyond the 5th
}

在 if 中的任何内容之后,val 现在应该包含:

var val = 'Hello, this is my text. I was born in 1984, and currently my age is 2 years';

我觉得我可能忽略了一些非常容易的事情。然而,我在网络上的搜索似乎一无所获。

最佳答案

var val = 'Hello, this is my text. I was born in 1984, and currently my age is 29 years';
var count = 0;
var str = val.replace(/\d/g, function(match){ return (++count<6) ? match : ""; });
console.log(str);

关于javascript - 是否可以使用正则表达式去除字符串中超过 X 位的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23341794/

相关文章:

javascript - 无法从github安装yarn包

javascript - 如何使用 Javascript 获取元素的名称?

java - 如何在java中使用正则表达式替换所有主题标签

java - OpenCSV 不转义引号 (")

java - 删除两个字符串之间的数据

javascript - jQuery 绑定(bind)事件序列

javascript - 如何在点击时使用 javascript 将 1 添加到输入字段中的值?

javascript - Angular 5 单元测试使用新日期来检查日期

javascript - 正则表达式不重复特殊字符

php - 从字符串中删除空行,但每行之间允许一个空行