Javascript - 无效的量词错误,有人可以帮助我看到我的错误吗?

时间:2011-04-12 16:44:36

标签: javascript

我不是JS大师,但有人可以帮我找到以下代码段中的无效量词错误吗?

感谢提前! -mprototype

function $_GET(q,s) {
        s = s ? s : window.location.search;
        var re = new RegExp( '&' + q + '(?:=([^&]*))?(?=&|$)' , 'i' );
        return (s=s.replace(/^?/,'&').match(re)) ? (typeof s[1] == 'undefined' ? '' : decodeURIComponent(s[1])) : undefined;
    } 

1 个答案:

答案 0 :(得分:1)

?在正则表达式中具有特殊含义,特别是它使前面的项可选。如果你试图找到问号字符本身,你需要用反斜杠来逃避它。

function $_GET(q,s) {
        s = s ? s : window.location.search;
        var re = new RegExp( '&' + q + '(?:=([^&]*))?(?=&|$)' , 'i' );
        return (s=s.replace(/^\?/,'&').match(re)) ? (typeof s[1] == 'undefined' ? '' : decodeURIComponent(s[1])) : undefined;
    }