如何使这个Javascript正则表达式更简洁?

时间:2016-11-06 18:23:19

标签: javascript regex string replace

<code>
function palindrome(str) {
    // Good luck!
    str=str.toLowerCase();
    str=str.replace(/[^\Wa-z0-9]/gi," ");
    str=str.replace(/[.,\s]/g, '');
    str=str.replace(/\//g, "");
    str=str.replace("(", "").replace(")", "").replace("0-0", "").replace(":-", "").replace(":","");
    var a=str.split("");
    a=a.reverse();
    a=a.join("");

    if(str===a){
        return true;
    }
    else {
        return false;
    }
}

palindrome("0_0 (: /-\ :) 0-0");

</code>

注意:我在这里尝试删除所有特殊字符,空格和大写字符,并检查传递的参数是否是回文。我只是想知道是否有办法使正则表达式只简化为一行。

1 个答案:

答案 0 :(得分:2)

str = str.toLowerCase().replace( /[^a-z0-9]/g, '' );

将小写字符串并删除所有非字母数字字符。