这道题我需要注意什么?
1.区分字符串数组的内置对象用法和字符串对象的用法: 典型 indexOf()
2.字符串对象infexOf的用法 尤其是=-1的时候的用法
3.如何输入不用循环弹出的对话框——把input=prompt("输入内容 ")放到for/while 循环的外面
4.弄清楚if条件判断时, == 和!= 分别对执行条件造成的影响,不要弄混=和==
5.注意需要声明哪些变量,尤其是最后需要打印的时候。
6.注意最终的内容是什么时候输出,是在循环条件触发时输出,还是整个循环结束了输出
7.注意“如果循循环结束后也没有触发任何执行条件,还要记得“没有发现敏感字”这一项,也要用if else 进行判断,并且这个“没有发现敏感字” 的情况和“敏感词出现的位置是xx是平行的情况,
8.可以使用函数封装,也就是说不仅是只检测这一个字,还可以检测其他很多多字
9.注意注意字符串中某个位置的字符用str.charAt(i),也可以用str[i]“方括号加字符索引”来访问字符串中特定的字符,但是IE7及更早的浏览器会返回undefined.
10.注意明知道是字符串,但是用函数参数代替了以后就不需要加上引号了
题目要求:对用户输入内容的输入框进行排查,看有没有敏感字“草”字。
图片.png
第一步:弹出输入框,让用户输入他想搜索的内容
第二步:获取到用户输入的内容,对内容进行判断,如果输入的内容中含有敏感字“草”,那么要将敏感字出现的位置输出在页面中,并且获取到敏感字“草”第一次出现的位置,同时输出在页面中;
Tips:
如果输入的内容没有敏感字,页面中会显示什么呢?
去判断有没有敏感字,我们要用到循环哦
方法一:直接声明变量使用for循环
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>搜索内容是否有敏感字"草"</title>
</head>
<body>
<script>
//补充代码
var input=prompt("请输入想搜索的内容");
for(var i=0;i<input.length;i++){
if(input[i]!="草"){// 注意啦!这里是不等于!=草! 是不等于! 当不等于草的时候,从这个地方结束循环,进入下一次循环
//当他等于”草“的时候,继续往下走!,走到document,顺利输出
// 这里的input[i]表示input这个字符串中第i位的子字符串
continue;
}
document.write("敏感词‘草’字在"+i+"位置被发现"+"<br>");
}
//注意:不要忘记没有“草”的情况! 当上面的循环已经走完,那么接着往下走,如果没有出现“草”怎么办,打印出“没有发现敏感字。
if(input.indexOf("草")==-1){// 当这里的条件等于-1时。说明这个字符串没有出现
document.write("没有发现敏感字");
} else{
document.write("敏感词‘草’字首次出现的位置是"+input.indexOf("草"));
}
</script>
</body>
</html>
方法二:使用函数封装
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>搜索内容是否有敏感字"草"</title>
</head>
<body>
<script>
//补充代码
function delString(str,schar) {
for (var i = 0; i < str.length; i++) {
if(str.charAt(i)==schar){
document.write("敏感字‘草’在" + i + "位置被发现" + "<br />");
}
}
if (str.indexOf(schar)==-1) {
document.write("没有敏感字");
}else{document.write("敏感字‘草’在" + str.indexOf(schar) + "位置首次被发现");
}
}
//以上这些都是封装的函数,真正的需要呈现需要输入的条件在下面这里
var pro = prompt("请输入搜索内容");
delString(pro,"草");
</script>
</body>
</html>
方法三:这个和方法一唯一的不同就是把a=inpit[i]声明了一下【注意赋值=前后的位置关系】,注意出现的位置一定是在i已经出现以后。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>搜索内容是否有敏感字"草"</title>
</head>
<body>
<script>
//补充代码
var input=prompt("请输入想搜索的内容");
var a;
for(var i=0;i<input.length;i++){
a=input[i];
if(a=="草"){
document.write("敏感词‘草’字在"+i+"位置被发现"+"<br>");
}
}
if(input.indexOf("草")==-1){
document.write("没有发现敏感字")}
else{
document.write("敏感词‘草’字首次出现的位置是"+input.indexOf("草"));
}
</script>
</body>
</html>
.
网友评论