Javascript将字符串安全地拆分为两部分编号和文本

Javascript将字符串安全地拆分为两部分编号和文本,javascript,jquery,string,Javascript,Jquery,String,我想知道是否有一种安全的方法(如果数据来自用户)将字符串和数字分开,例如“something-55”、“something-124”、“something-1293” 我想: 某物和 五十五 某物和 124 某物和 1291293 我的意思是“安全的方法”是确保我只得到最后的数字。。如果数据来自用户,“某物”可以是任何某物,例如 我正在寻找一种可靠的方法。你能试试这个吗 var input='whatever-you-want-to-parse-324'; var sections=input.

我想知道是否有一种安全的方法(如果数据来自用户)将字符串和数字分开,例如“something-55”、“something-124”、“something-1293” 我想:

某物和 五十五

某物和 124

某物和 1291293

我的意思是“安全的方法”是确保我只得到最后的数字。。如果数据来自用户,“某物”可以是任何某物,例如

我正在寻找一种可靠的方法。

你能试试这个吗

var input='whatever-you-want-to-parse-324';
var sections=input.split(/[\w]+-/);

alert(sections[sections.length-1]);

您可以将
substr
lastIndexOf
一起使用:

var str = "something-somethingelse-55", 
    text = str.substr(0, str.lastIndexOf('-')),
    number = str.substr(str.lastIndexOf('-') + 1);

console.log(text + " and " + number);

尽管有点晚,但这将是最具限制性的解决方案:

var regex = /^([-\w])+?-(\d+)$/,
    text = "foo-123",
    match = test.match(regex);
您将获得具有以下值的匹配对象:

[ "foo-123", "foo", "123" ]
这是一个非常严格的匹配,因此
“foo-123”
“foo-123”
将不匹配,它要求字符串以一个或多个数字结尾。

试试这个,可以工作

var string = 'something-456';
var array = string.split('-');

for (var i = 0;i<array.length;i++){
var number = parseFloat(array[i]);
if(!isNaN(number)){
var myNumber = number;
var mySomething = array[i - 1];
console.log('myNumber= ' + myNumber);
console.log('mySomething= ' + mySomething);
}
}
var字符串='something-456';
var数组=string.split('-');

对于(var i=0;i
var parts=str.split('-')
来说,您刚刚改变了问题的整个前提。准确一点,您将得到解决问题的有效方法。如果是
“Hello222Kitty00224344Stack99Error-22”
,或者
“99瓶33号啤酒在第一墙上”怎么办
,谁知道呢?如果它在末尾,用连字符分隔,
str.split('-').pop()
给你->