2017-2-09(js作业)

错了,是错了,修改完了,还是不知道哪里错了。就这样莫名其妙的错了,又莫名其妙的没问题了。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>string learn 01</title>
<style>
	span{
		background-color: lightgray;
	}
	#beGoodMan{
		color:brown;
	}
	.God{
		color:black;
		background-color: aliceblue;
		font-weight: bold;
	}
</style>
</head>

<body>
<form>
	<p>1.隐藏电话号码中间4位数</p>
	<button type="button">点击隐藏</button>
	<input type="text"/><br />
	
	<p>2.获取文件后缀名</p>
	<button type="button">判断文件类型</button>
	<input type="file"><br />
	<span id="f_type">[未检测到文件!]</span>
	
	<p>3.统计字符串中出现的所有字符和各个字符出现的次数</p>
	<button type="button">获取统计结果</button>
	<input type=""/><br /> <!--本来想改成 <textarea row="10" cols="30">sometext</textarea>的.-->
	<p id="tj_3"></p>
	
	<p>4.一段文字中敏感词汇用星号代替.</p>
	<input type="text" value="操你妈3-死逼1-傻逼0-淘宝2"/>
	<button type="button">敏感词替换</button><br />
	<p><span class="God">接受神的洗礼把,孩子:</span><span id="beGoodMan"></span></p>
</form>

<script type="text/javascript">
	var t = document.getElementsByTagName("input");
	var btn=document.getElementsByTagName("button");
	
	//1.隐藏电话号码中间4位数:
	btn[0].onclick=function(){
				//t[0].value=="" || t[0].value == null || 
		if(isNaN(t[0].value)|| t[0].value.length!=11 ){
			t[0].value=null;
			alert("输入有误,请重新输入");
			return;
		}
		
		var tel=t[0].value.toString();
		//012 3456 789 10
		tel = tel.replace(tel.substr(3,4),'****');
		t[0].value=tel;
	}
	
	//2.获取文件后缀名:
	btn[1].onclick=function(){
		var id=document.getElementById("f_type");
		var f = t[1].value.toString();
		f=f.substr(f.lastIndexOf('.')+1); //注意有的文件么有后缀类型;
		switch(f){
			case 'txt': id.innerHTML="Txt:通用平台文本文件类型"; break;
			case 'dll': id.innerHTML="dll:WinOs 动态链接库文件"; break;
			default : id.innerHTML="抱歉!暂时无法获取您的文件类型"; break;
		}
	}
	
	//3.统计字符串中出现的所有字符和各个字符出现的次数
	btn[2].onclick=function(){
		
		var id=document.getElementById("tj_3");
		var txt=t[2].value.toString();//转换成字符串;
		
		if(txt=="" || txt==null){ //错误判断
			alert("输入有误,请重新输入!");
			txt.value=null;
			return;
		}
		
		var cz=""; //用于存储已经做过比较的字符;
		
		id.innerHTML=null;//防止再次执行函数,内容一直递增的问题;
		
		loop:
		
		for(var i=0;i<txt.length;i++){ //主要外层循环;			// fafcfdfefxfo; 测试字符串;
			var n=0;//每次重置为0作统计;
			
			
			for(var j=0;j<cz.length;j++){ //向左递减,如果发现目前字符与cz字串中任意一个字符相等则跳过这个字符。
				if(cz[j]==txt[i]){
					continue loop;
				}
			}
			
			for(var j=i;j<txt.length;j++){ //向右递增;
				if(txt[j]==txt[i]){
					n++;
				}
			}
			
			cz+=txt[i];
			id.innerHTML+=("字符 "+txt[i]+" 出现的次数: "+n+";<br/>")
		}
		
		id.innerHTML+=("统计结果总共有:"+cz.length+"个不同的字符."); 
	}
	
	//4.一段文字中敏感词汇用星号代替:
	
	btn[3].onclick=function(){
		var character = ["你大爷","taobao","淘宝","操你妈","傻逼","死","fuck","怂人","蠢","丑逼"];
		var txt = t[3].value.toString();
		
		if(txt==""|| txt==null){
			alert("世界为何总是要存在无声的沉默?");
			t[3].value=null;
			return;
		}
	
		var id = document.getElementById("beGoodMan");
		
		for(var i=0;i<character.length;i++){
			alert(i+" "+character.length+" "+txt.length);
			
			
			if(txt.match(character[i])!=null){
				
				txt=txt.replace(character[i],editChar(character[i].length))
				alert(i+" "+txt);
			}
		}
		
		id.innerHTML=(txt);
	}

	function editChar(charLength){ //计算敏感词长度,并替换为相应长度的星号.
		var character="";
		for(var i=0;i<charLength;i++){
			character+="*";
		}
		return character;
	}
	
</script>
</body>
</html>

<!--时间:2017-03-29
	Math
	Date
	
	DOM= document object mode
	.getFullyear(); .getHours();  ....
	
	
	document.title
	document.body.clientWidth / clientHeight;
	
	document.documentElement.clientWidth /clientHeight;
	
	document.getElementById("demo");
	
	
	window
	innerHeight innerWidth
	
	alert() confirm() prompt()
	open() close();
-->

<!--时间:2017-03-29 单词
	[variables 变量]
	
	client 客户端
	server 服务器
	browser 浏览器
	
	C/S 客户端/服务器
	B/S 浏览器/服务端
-->

<!--时间:2017-03-29
	String Object:
	
	1.var a = "Hello String.";
	2.属性: a.length;
	3.方法:	a.charAt(3); //获取某个位置的字符;
			a.replace('c','q');	替换字符,所有c替换为q;
			a.substr(0,5); 获取 从0开始之后5个长度的字符;
			a.substring(2,5); 获取2开始到5结束之间的字符;
			
			toLowerCase(); //全部小写
			toUpperCase(); //全部大写
			
			a.indexOf('e'); //字符首次出现的位置;
			a.lastIndexOf('e'); //字符最后出现的位置;
			
			
-->

 

转载于:https://my.oschina.net/IndustrialRevolutio/blog/870437

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值