Est-il possible dans JavaScript
de faire quelque chose comme preg_match
fait-il dans PHP
?
J'aimerais pouvoir obtenir deux nombres d'une chaîne:
var text = 'price[5][68]';
en deux variables séparées:
var productId = 5;
var shopId = 68;
Edit: J'utilise aussi MooTools
si cela peut aider.
var text = 'price[5][68]';
var regex = /price\[(\d+)\]\[(\d+)\]/gi;
match = regex.exec(text);
match [1] et match [2] contiendront les numéros que vous recherchez.
var thisRegex = new RegExp('\[(\d+)\]\[(\d+)\]');
if(!thisRegex.test(text)){
alert('fail');
}
J'ai trouvé test pour agir plus preg_match car il fournit un retour booléen. Cependant, vous devez déclarer une variable RegExp.
CONSEIL: RegExp ajoute sa propre/au début et à la fin, alors ne les passez pas.
Cela devrait fonctionner:
var matches = text.match(/\[(\d+)\][(\d+)\]/);
var productId = matches[1];
var shopId = matches[2];
var myregexp = /\[(\d+)\]\[(\d+)\]/;
var match = myregexp.exec(text);
if (match != null) {
var productId = match[1];
var shopId = match[2];
} else {
// no match
}