我有像你这样的字符串
'156p1m2s10c'
'15p13m22s3c'
'1644p31m142s3c'
我想分别得到所有的数字。
数组也可以像:
156
--
1
--
2
--
33
如何使用Jquery做到这一点。我尝试过下面提到的代码,但一切都出错了。
function myFunction() {
var str = "156p1m2s33c";
var prodId = cust_code.substring(0, url.indexOf('p'));
var metalId = cust_code.substring(url.indexOf('p') + 1, url.indexOf('m'));
var prodId = cust_code.substring(url.indexOf('m') + 1, url.indexOf('s'));
}
代码有什么问题?
答案 0 :(得分:8)
您可以将String#match与RegExp一起使用。如果需要,您可以使用Array#map将字符串转换为数字。
var str = '156p1m2s33c';
var numbers = str.match(/\d+/g);
console.log(numbers);
您的代码有什么问题:
cust_code
和url
不属于该功能。请参阅str
。prodId
两次。
function myFunction() {
var str = "156p1m2s33c";
var pI = str.indexOf('p');
var mI = str.indexOf('m');
var sI = str.indexOf('s');
var cI = str.indexOf('c');
var prodId = str.substring(0, pI);
var metalId = str.substring(pI + 1, mI);
var anotherId1 = str.substring(mI + 1, sI);
var anotherId2 = str.substring(sI + 1, cI);
return [prodId, metalId, anotherId1, anotherId2];
}
console.log(myFunction());