Javascript将字符串安全地拆分为两部分编号和文本
我想知道是否有一种安全的方法(如果数据来自用户)将字符串和数字分开,例如“something-55”、“something-124”、“something-1293” 我想: 某物和 五十五 某物和 124 某物和 1291293 我的意思是“安全的方法”是确保我只得到最后的数字。。如果数据来自用户,“某物”可以是任何某物,例如 我正在寻找一种可靠的方法。你能试试这个吗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.
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;ivar parts=str.split('-')
来说,您刚刚改变了问题的整个前提。准确一点,您将得到解决问题的有效方法。如果是“Hello222Kitty00224344Stack99Error-22”
,或者“99瓶33号啤酒在第一墙上”怎么办
,谁知道呢?如果它在末尾,用连字符分隔,str.split('-').pop()
给你->