Si j'ai une chaîne comme "something12" ou "something102", comment utiliserais-je un regex en javascript pour renvoyer juste les nombres de parties ?
Réponses
Trop de publicités?Expressions régulières :
var numberPattern = /\d+/g;
'something102asdfkj1948948'.match( numberPattern )
Cela retournerait un tableau avec deux éléments à l'intérieur, '102' et '1948948'. Opérez comme vous le souhaitez. Si elle ne correspond pas, elle retournera NULL.
Pour les concaténer :
'something102asdfkj1948948'.match( numberPattern ).join('')
En supposant que vous n'ayez pas affaire à des décimales complexes, cela devrait suffire.
CMS
Points
315406
Iván Martínez
Points
181
Andrew Moore
Points
49765
Je suppose que vous voulez obtenir le (s) nombre(s) de la chaîne. Dans ce cas, vous pouvez utiliser ce qui suit :
// Returns an array of numbers located in the string
function get_numbers(input) {
return input.match(/[0-9]+/g);
}
var first_test = get_numbers('something102');
var second_test = get_numbers('something102or12');
var third_test = get_numbers('no numbers here!');
alert(first_test); // [102]
alert(second_test); // [102,12]
alert(third_test); // null