Регулярное выражение Javascript: Как извлечь «идентификатор» из строки? - PullRequest
2 голосов
/ 05 марта 2010

У меня есть эта строка: comment_1234

Я хочу извлечь 1234 из строки. Как я могу это сделать?

Обновление: Я не могу получить ни один из ваших ответов для работы ... Есть ли проблема с моим кодом? Предупреждение никогда не вызывается:

var nameValue = dojo.query('#Comments .Comment:last-child > a[name]').attr('name');
alert('name value: ' + nameValue); // comment_1234
var commentId = nameValue.split("_")[1];
// var commentId = nameValue.match(/\d+/)[0];
// var commentId = nameValue.match(/^comment_(\d+)/)[1];
alert('comment id: ' + commentId); //never gets called. Why?

Решение:

Я понял свою проблему ... по какой-то причине она выглядит как строка, но на самом деле это не строка, поэтому теперь я преобразую nameValue в строку, и она работает.

var nameValue = dojo.query('#Comments .Comment:last-child > a[name]').attr('name'); //comment_1234
var string = String(nameValue); //cast nameValue as a string
var id = string.match(/^comment_(\d+)/)[1]; //1234

Ответы [ 3 ]

3 голосов
/ 05 марта 2010
someString.match(/\d+/)[0]; // 1234

Или для точного назначения цифр после комментария _:

someString.match(/^comment_(\d+)/)[1]; // 1234
0 голосов
/ 19 ноября 2016

var tesst = "WishID=1List"
var test = tesst.match(/WishID=(.*)List/);
alert (test[1]);

if(test[1]==""){
  alert('Empty');
}
0 голосов
/ 05 марта 2010
function ExtractId(str){
    var params = str.split('_');
    return params[params.length - 1];
}

var id = ExtractId('comment_1234');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...