使用javascript从字符串中分离字母字符

时间:2014-05-19 13:47:49

标签: javascript jquery

我正在开发一个javascript项目并遇到了问题。
我有这样的价值观:1231+, 83749M, 123199B 我只能通过这样做得到数值/数字:

var theNumber = parseInt(1231+);

但是我怎样才能得到像+, M, B这样的尾随字符?我不能使用子字符串,因为可以有多个字符。但是角色总会在路上。

5 个答案:

答案 0 :(得分:6)

var orig = "1231+";
var theNumber = parseInt(orig);
var theChar = orig.replace(theNumber, "");

更换" 1231" in" 1231 +"用""离开" +"。

答案 1 :(得分:1)

使用正则表达式:

表达方式为:[\d]

获取所有非数字字符。

代码示例

$(document).ready(function() {
    var elem = '1234+';
    alert(elem.replace(/\d/g, ''));
});

//Result +

答案 2 :(得分:1)

您可以使用正则表达式。 像这样的Somhow:

var string = "1234+";
var regexp = /([0-9]+)(.*)/;
var result = regexp.exec(string);

结果将是:

[ '1231+',
  '1231',
  '+',
  index: 0,
  input: '1231+' ]

因此,result[1]将是您的号码,result[2]是您的后缀。

答案 3 :(得分:1)

如果您关注的是尾随字符,并且不担心字符串中间是否有字母字符,那么您可以使用此正则表达式 -

[^\d]*$

正则表达式测试的一个方便工具是http://regexpal.com/

鉴于我们有一个模式,我们现在可以匹配 -

var foo = '1231+';
var trailers = foo.match(/[^\d]*$/);
console.log(trailers);

答案 4 :(得分:0)

试试此代码

var n1 = "234234M",
    n2 = "6546D",
    n3 = "4455+";
alert(n1.replace(parseInt(n1), ""));
alert(n2.replace(parseInt(n2), ""));
alert(n3.replace(parseInt(n3), ""));