-3

我正在开发一个 Phonegap Android 应用程序。现在我想将一些参数从一个页面传递到另一个 html 页面。我没有使用任何服务器端方法。在第二页中,我想使用 JavaScript 从第一页获取所有传递的参数。

例如这里是一个 URL:

file:///C:/Users/dell/Projects/testapp1/search_result.html?searchstr=word1+*%26^+word2+3+word3+%40%23&city=city&showdishesnearby=false

以下函数用于提取每个参数值:

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
        function (m, key, value) {
            vars[key] = value;
        });
    return vars;
}

searchString = getUrlVars()["searchstr"]; // this is how I call above function to get value of passed particular parameter

现在我想删除变量中除数字和空格之外的所有特殊字符searchString

我使用了以下代码:

searchString = searchString.replace(/[^a-zA-Z ]/g, " ");

但这并不能解决我的问题。如何使用 JavaScript 删除字符串中除数字和空格之外的所有特殊字符?

4

2 回答 2

10
searchString.replace(/[^a-z\d\s]+/gi, "");

删除除字母、数字和空格之外的所有内容。

var s = 'keep%8$this part 3£$@plz £$% @£';
s.replace(/[^a-z\d\s]+/gi, "");
// "keep8this part 3plz  "
于 2013-11-12T09:17:59.520 回答
2

只需添加以下代码即可替换所有字母数字字符(标点符号、步调、下划线)

var string = str.replace(/[^A-Za-z0-9]/g,"")
于 2017-08-13T09:30:16.360 回答