用jquery替换反斜杠

时间:2014-02-24 20:11:25

标签: jquery regex replace backslash

在下面的表单中,如果我尝试使用.replace()替换反斜杠,则会导致错误:

<form>
    <input id="plop" type="text" value="" style="width:500px;">
       <button id="button" type="button" value="" onclick="pouet()">Plop</button>
</form>

<script>
function pouet()
{
    var a1 =$("#plop").val().replace(/\\/g,'/');
    document.write(a1); // added for testing
}
</script>
  

ReferenceError:找不到变量:pouet

如果我尝试替换另一个角色(如 - 或/),则效果很好。 似乎第一次反斜杠\并没有逃过第二次......我不明白为什么。

您是否知道如何全局替换var a1中的每个反斜杠? THX

2 个答案:

答案 0 :(得分:1)

$(document).ready(function() {
    $("#button").click(function(e) {
        e.preventDefault();
        var a1 = $("#plop").val().replace(/\\/g,"/");
        $("#plop").val(a1);
        $.post("path/to/php/script", {a1:a1}, function(data) {
            // do something with php return data
        });
    });
});

如果你只是在用户点击一个按钮时运行一些代码,甚至不用费心去编写自定义函数。

Tested and working

答案 1 :(得分:1)

感谢@sln,使用/ \ x5c / g代替实际的正则表达式