请问是否正确

请问是否正确

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title>搜索内容是否有敏感字"草"</title>
</head>
<body>
<script>
      //补充代码
      var a = prompt("请输入您要搜索的内容"),
        b = a.indexOf("草");
      if (b != -1) {
        document.write("敏感字'草'在" + b + "位置被发现<br />");
      } else {
        document.write("未检测到敏感字");
      }
    </script>
</body>
</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕夭夭 2019-06-19 19:00:26

你好同学,效果实现的不对,输入如下内容

http://img1.sycdn.imooc.com//climg/5d0a156b0001b20204260078.jpg

显示结果只有一个,而正确的效果是要输出所有敏感字的位置,并输出首次出现的位置:

http://img1.sycdn.imooc.com//climg/5d0a158100019c9502490070.jpg

代码中只用indexOf检索了首次出现的位置,本题建议使用for循环遍历输入的内容,然后判断当前的内容是否与敏感字相等,如果相等,就说明是敏感字,输出它的位置。建议参考如下修改:

http://img1.sycdn.imooc.com//climg/5d0a159f000192d507320315.jpg

祝学习愉快 ,望采纳。

  • 提问者 蛤小蛤 #1
    为什么是i+1 啊。。。
    2019-06-19 19:11:12
  • 好帮手慕夭夭 回复 提问者 蛤小蛤 #2
    因为i初始值为0哦,当输入内容后,第一个文字位置是从1开始的,所以加1哦。
    2019-06-19 19:19:59
  • 提问者 蛤小蛤 回复 好帮手慕夭夭 #3
    我试了下例如输入“雾草”,“草”的索引应该是1吧,为什么要i+1呢?
    2019-06-19 19:58:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师