0

我正在使用此函数在 Javscript 中获取我的参数,但在某些情况下,它会切断我的charge_id参数。

 $.urlParam = function(name) {
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
        if (results) {  return results[1] || 0;  }
 };  

 if ($.urlParam('success')) {
    // Get Charge ID from param
    var chargeId = $.urlParam('charge_id') 
 };

在这种情况下,charge_id参数被上述表达式缩短:

lvh.me:3001/?charge_id=ch_1hK2X4XiaCv3r8&success=true

这是返回的内容:

ch_1hK2X4Xi 
4

1 回答 1

2
$.urlParam = function(name) {
    var results = new RegExp(name + '=([^&#]+)').exec(window.location.href);
    if (results) {
        return results[1] || 0;
    }
};

应该做的伎俩。正如 Barmar 在评论中指出的那样,不要在正则表达式中使用 HTML 字符引用。

于 2013-04-23T01:57:28.200 回答