在JavaScript preg_match?
是否有可能在JavaScript
中做preg_match
在PHP
呢?
我希望能够从string中获得两个数字:
var text = 'price[5][68]';
分成两个分离的variables:
var productId = 5; var shopId = 68;
编辑:我也使用MooTools
如果它会帮助。
JavaScript有一个RegExp
对象,它可以做你想做的事情。 String
对象有一个match()
函数可以帮助你。
var matches = text.match(/price\[(\d+)\]\[(\d+)\]/);
var text = 'price[5][68]'; var regex = /price\[(\d+)\]\[(\d+)\]/gi; match = regex.exec(text);
匹配[1]和匹配[2]将包含你正在寻找的数字。
var thisRegex = new RegExp('\[(\d+)\]\[(\d+)\]'); if(!thisRegex.test(text)){ alert('fail'); }
我发现testing行为更preg_match,因为它提供了一个布尔返回。 但是你必须声明一个RegExp var。
提示:RegExp在开始和结束时添加它自己的/所以不要传递它们。
var myregexp = /\[(\d+)\]\[(\d+)\]/; var match = myregexp.exec(text); if (match != null) { var productId = match[1]; var shopId = match[2]; } else { // no match }
这应该工作:
var matches = text.match(/\[(\d+)\][(\d+)\]/); var productId = matches[1]; var shopId = matches[2];