js 小案例 加密字符操作之字符串替换

62 阅读2分钟
<div>拜登高中就读于克莱蒙特的阿克梅尔学院,在那里拜登是高中足球队中杰出的前卫/边路接球手;在高年级时,拜登帮助带领一支常年失利的球队进入了一个不败的赛季。拜登也在棒球队踢球。在这些年里,拜登参加了在威尔明顿剧院举行的反种族隔离静坐示威。在学业上,拜登的成绩大多为“B”。但拜登的领导能力始于他在阿克梅尔学院的成长阶段,在这里拜登被选为初级和高级班的校长,并担任班主任代表。拜登当时有成为美国总统的抱负。拜登于1961年高中毕业。</div>
        //  字符串替换 

        // 固定的要替换的字符串内容
        var str = '拜登高中就读于克莱蒙特的阿克梅尔学院,在那里拜登是高中足球队中杰出的前卫/边路接球手;在高年级时,拜登帮助带领一支常年失利的球队进入了一个不败的赛季。拜登也在棒球队踢球。在这些年里,拜登参加了在威尔明顿剧院举行的反种族隔离静坐示威。在学业上,拜登的成绩大多为“B”。但拜登的领导能力始于他在阿克梅尔学院的成长阶段,在这里拜登被选为初级和高级班的校长,并担任班主任代表。拜登当时有成为美国总统的抱负。拜登于1961年高中毕业。';


        // 通过输入框 输入 你要替换的关键词
        var keyword = window.prompt('请您输入要替换的关键词');

        // 判断 原始字符串中有没有输入的关键词 
        if( str.indexOf( keyword ) === -1 ){
            // 如果原始字符串中没有要替换的关键词 输出提示信息 没有这个关键词
            document.write( '<div>没有您要替换的关键词</div>' );

        }else{
            // 如果原始字符串中 有 要替换的关键词 再执行字符串替换操作

            // 准备一个数量对应的*星号字符串
            var newStr = '' ;
            // 按照关键词个数循环生成星号字符串
            for( var i = 1 ; i <= keyword.length ; i++ ){
                // 每次循环拼接写入一个星号
                newStr += '*' ;
            }
            

            // 字符串替换操作
            while( true ){
                // 原始字符串中没有关键词 终止循环
                if( str.indexOf( keyword ) === -1 ) break ;

                // 执行字符串替换操作 将 输入的keyword关键词 替换成 newStr 星号字符串
                str = str.replace( keyword , newStr );
            }

            // 循环结束 将替换的str字符串 写入页面
            document.write( `<div>${str}</div>` );

        }