【187】Javascript自己实现的 replaceAll 函数

这个函数没有使用正则表达式,因此在填写需要被替换的旧子串和新子串的时候,不需要考虑正则表达式特殊符号的影响。

下面是实现代码:

<html>
<head>
    <title>blog187 zhangchaotitle>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
head>
<body>
    原来字符串:<input type="text" id="strInput" style="width: 300px"/> <br>
    旧的子串:<input type="text" id="oldSubstrInput"/> <br>
    新的子串:<input type="text" id="newSubstrInput"/> <br>
    
    结果:<div id="zhangchaoDiv">div> <br>
    <input type="button" value="test" onclick="test()"/> <br>
    <script type="text/javascript">
        var zhangchao = {
            replaceAll: function (str, oldSubstr, newSubstr) {
                var arr = str.split(oldSubstr);
                if (!arr || arr.length == 0) {
                    return str;
                }
                var r = arr[0];
                var i = 1;
                for (; i < arr.length; i++) {
                    r = r + newSubstr + arr[i];
                }
                return r;
            }
        };

        function test() {
            var str = document.getElementById("strInput").value;
            var oldSubstr = document.getElementById("oldSubstrInput").value;
            var newSubstr = document.getElementById("newSubstrInput").value;
            var b = zhangchao.replaceAll(str, oldSubstr, newSubstr);
            document.getElementById("zhangchaoDiv").innerHTML = b;
        }
    script>
body>
html>

你可能感兴趣的:(JS,javascript,ecmascript)