如何使用JavaScript删除字符串中除数字和空格以外的所有特殊字符?

时间:2013-11-12 05:47:22

标签: javascript regex

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

例如,这是一个URL:

  

文件:/// C:?/Users/dell/Projects/testapp1/search_result.html字符串searchstr = WORD1 + *%26 ^ + WORD2 + 3 + + WORD3%40%23安培;城市=城市&安培; showdishesnearby =假

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

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删除字符串中除数字和空格以外的所有特殊字符?

2 个答案:

答案 0 :(得分:6)

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  "

答案 1 :(得分:0)

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

var string = str.replace(/[^A-Za-z0-9]/g,"")