首页 > web前端 > js教程 > 如何在 JavaScript 中从字符串中提取数字?

如何在 JavaScript 中从字符串中提取数字?

DDD
发布: 2024-12-06 10:45:11
原创
737 人浏览过

How to Extract Numbers from Strings in JavaScript?

在 JavaScript 中从字符串中提取数字:综合指南

在 JavaScript 中处理字符串时,通常需要从中提取特定数字。这可能会出现在各种场景中,例如从 DOM 元素解析 ID 或从文本文件中提取数字数据。

具体示例:从字符串中提取数字

考虑像“#box2”这样的字符串,我们只需要提取数字 2。使用以下代码snippet:

var thestring = $(this).attr('href');
var thenum = thestring.replace(/(^.+)(\w\d+\w)(.+$)/i, '');
登录后复制

仍会在警报中返回“#box2”。原因是使用的正则表达式没有正确捕获数字前后的非数字字符。

具体示例解决方案

解决此问题对于“#box2”的具体示例,我们可以使用以下代码:

var thenum = thestring.replace(/^\D+/g, ''); // Replace all leading non-digits with nothing
登录后复制

此正则表达式删除所有前导非数字字符字符串,有效隔离数字。

使用正则表达式的一般解决方案

对于更复杂的字符串,更通用的方法是使用仅匹配数字的正则表达式:

thenum = "foo3bar5".match(/\d+/)[0] // "3"
登录后复制

此表达式将返回数组中的第一组连续数字string.

正则表达式生成器

对于更复杂的正则表达式,您可以使用正则表达式生成器工具,例如下面提供的工具:

`


函数 getre(str, num) {<br> if (str === num) return "nice try";<br> var res = [<pre class="brush:php;toolbar:false">[/^\D+/g, /\D+$/g], // Remove leading/trailing non-digits
[/^\D+|\D+$/g], // Remove both leading and trailing non-digits
[/\D+/g], // Remove all non-digits
[/\D.*/g], // Remove all non-digits from the end
/.*\D/g, // Remove all non-digits from the start
/^\D+|\D.*$/g, // Remove non-digits from both ends
/.*\D(?=\d)|\D+$/g, // Remove non-digits followed by digits or from the end
登录后复制

];
for (var i = 0; i

; res.length; i )
if (str.replace(res[i], "") === num)
  return 'num = str.replace(/' + res[i].source + '/g, "")';
登录后复制


返回“否idea";

}


function update() {
$ = function(x) { return document.getElementById(x) };
var re = getre($('str' ).value, $('num').value);
$('re').innerHTML = "Numex 说话:" re "";
}

`:

此工具提供了一个用户界面,您可以在其中输入原始字符串和所需的数字提炼。然后它将显示提取数字所需的 JavaScript 代码。

以上是如何在 JavaScript 中从字符串中提取数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板