我有一个这样的字符串:
var s= -123456abcd@abc.com
我想要这个
var res=123456
我怎样才能在javascript中执行此操作? 我应该使用正则表达吗? 有人能引导我走正确的路吗?
答案 0 :(得分:3)
您可以使用正则表达式:
var numbers = s.match(/\d/g);
var s= "-123456abcd@abc.com"
var numbers = s.match(/\d/g); // [1,2,3,4,5,6]
var resp = numbers.join(''); // "123456";
var resp = s.match(/\d/g).join('');
//or
var resp = s.replace(/\D/g, '');
答案 1 :(得分:2)
var s= "-123456abcd@abc.com";
var matches = s.match(/\d+/g);
alert(matches.join(""));
答案 2 :(得分:1)
怎么样
var s = "-123456abcd@abc.com";
var numbers = s.replace(/[^\d]/g, '');
答案 3 :(得分:0)
您可以使用match()
方法执行此操作。它将返回一个数组,这很好,因为你的字符串中可能隐藏了多个数字。
var s = '-123456abcd@abc.com';
var numbers = s.match(/\d+/g);
for (var i = 0; i < numbers.length; i++) {
alert(numbers[i]);
}
答案 4 :(得分:0)