我有一个JavaScript字符串(例如,#box2),我只是想从它的2。
我试着:
var thestring = $(this).attr('href');
var thenum = thestring.replace(/(^.+)(\w\d+\w)(.+$)/i, '$2');
alert(thenum);
它仍然在警告中返回#box2。我怎样才能让它工作呢?
它需要适应任何长度的数字附着在末端。
我有一个JavaScript字符串(例如,#box2),我只是想从它的2。
我试着:
var thestring = $(this).attr('href');
var thenum = thestring.replace(/(^.+)(\w\d+\w)(.+$)/i, '$2');
alert(thenum);
它仍然在警告中返回#box2。我怎样才能让它工作呢?
它需要适应任何长度的数字附着在末端。
当前回答
函数只是数字(字符串) { var numsStr = string.replace(/[^0-9]/g, ''); 返回 parseInt(numsStr); } console.log(justNumbers('abcdefg12hijklmnop'));
你可以做一个这样的函数
function justNumbers(string)
{
var numsStr = string.replace(/[^0-9]/g, '');
return parseInt(numsStr);
}
记住:如果数字前面有一个0,int就不会有它
其他回答
您需要添加“(/\d+/g)”,这将删除所有非数字文本,但它仍然是一个字符串。如果您通过匹配创建了一个变量和“parseInt”,您可以将新变量设置为数组值。下面是我如何让它工作的一个例子:
var color = $( this ).css( "background-color" );
var r = parseInt(color.match(/\d+/g)[0]);
var g = parseInt(color.match(/\d+/g)[1]);
var b = parseInt(color.match(/\d+/g)[2]);
你可以使用正则表达式从字符串中提取数字:
let string = "xxfdx25y93.34xxd73";
let res = string.replace(/\D/g, "");
console.log(res);
输出:25933473
将它包装成一个普通的JavaScript函数:
function onlyNumbers(text){
return text.replace(/\D/g, "");
}
试试下面的:string。替换(/ [^ 0 - 9]/ g,”);这将删除所有非数字字符,在字符串中只留下数字
function retnum(str) {
var num = str.replace(/[^0-9]/g, '');
return parseInt(num,10);
}
console.log(“abca12bc45qw”。替换(/ [^ 0 - 9]/ g, ")); console.log(“# box2”。替换(/ [^ 0 - 9]/ g, "));
函数只是数字(字符串) { var numsStr = string.replace(/[^0-9]/g, ''); 返回 parseInt(numsStr); } console.log(justNumbers('abcdefg12hijklmnop'));
你可以做一个这样的函数
function justNumbers(string)
{
var numsStr = string.replace(/[^0-9]/g, '');
return parseInt(numsStr);
}
记住:如果数字前面有一个0,int就不会有它
我尝试了前一个答案中引用的所有组合与此代码,并得到了它的工作。→(12)3456-7890
var str = "(12) 3456-7890";
str.replace(/\D+/g, '');
结果:“1234567890”
注意事项:我知道这样的字符串不会在属性上,但无论如何,解决方案是更好的,因为它更完整。