JavaScript
でpreg_match
がPHP
で行うようなことを行うことは可能ですか?
文字列から2つの数値を取得できるようにしたいと思います。
var text = 'price[5][68]';
2つの分離された変数に:
var productId = 5;
var shopId = 68;
編集:役立つ場合は、MooTools
も使用します。
var text = 'price[5][68]';
var regex = /price\[(\d+)\]\[(\d+)\]/gi;
match = regex.exec(text);
match [1]およびmatch [2]には、探している番号が含まれます。
var thisRegex = new RegExp('\[(\d+)\]\[(\d+)\]');
if(!thisRegex.test(text)){
alert('fail');
}
ブール値を返すため、より多くのpreg_matchを実行するテストを見つけました。ただし、RegExp変数を宣言する必要があります。
ヒント:RegExpは、開始時と終了時に独自の/を追加するため、それらを渡さないでください。
これは動作するはずです:
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
}