js作业题分享

1、定义一个函数:将css样式名 转为 js样式名.

               题目大意解析: 将控制css样式的类名,转成用js控制样式

                比如之前使用style 中定义class名为dv的div盒子,长框均为30px.

                 注:使用$("div"); 这种方式前需要先下载jquery . * . js的插件

                

 

 

 

                如果没有下载插件也可以改成 :var i=document.getElementsByClassName(".dv");

               来获取 

 

 

                var i=$(".dv");
				i.html("第一题");	

2、统计字符串’abcdfsdsfaesfsfdaaa’中出现最多的字符和次数

               var str="abcdfsdsfaesfsfdaaa";
			   var o=[];
			   for(i=0;i<str.length;i++){
			 	if(!o[str[i]]){ o[str[i]]=1; }else { o[str[i]]++; }
			   }
			   console.log(o);
			   var max=0,word="";for(var k in o){if(o[k]>max){max=o[k];word=k;}}
			   console.log(max+"最多次的是"+word);

        定义一个空数组o,将for循环中str[i]获取到的值作为数组o的下标:“o[str[i]]”,用if判断,当o数组这个下标里面的值 “!” 以后成立 也就是为空的时候成立,赋值为1 表示第一次出现。else则表示不是第一出现,所以++即可。

 3、传入任意字符串,统计字符串中的大写字母个数、小写字母个数、数字个数、其他字符个数。

var str="ASDHjkdasjpjfpoasf1356*@*",dx=0,xx=0,sz=0,qt=0;
			for(i=0;i<str.length;i++){
				if(str.charCodeAt(i)>=48&&str.charCodeAt(i)<=57){sz++;}
				else if(str.charCodeAt(i)>=65&&str.charCodeAt(i)<=90){dx++;}
				else if(str.charCodeAt(i)>=97&&str.charCodeAt(i)<=122){xx++;}
				else {qt++;}
			}
			console.log(dx+" "+xx+" "+sz+" "+qt);

str.charCodeAt(i)       获取str中下标为i的字符所转成的ASC码值  “48-57”即是0-9的ASC码 然后比较ASC码值。

“48-57” 是0-9的ASC码值,“65-90”是A-Z的ASC码值,“97-122”是a-z的ASC码值

4、反转字符串.

传入:"iOS Android HTML5 Java"

 返回:"avaJ 5LMTH diordnA SOi"

var str="iOS Android HTML5 Java";
			function reverseString(str) {
			    // Step 1. 使用 split()方法返回一个新数组
			    var splitString = str.split('');
			    // Step 2.使用 reverse()方法 翻转数组
			    var reverseArray = splitString.reverse();
			    // Step 3.使用 join()方法 组合所有的数组元素,从而变成一个新字符串
			    var joinArray = reverseArray.join('');
			    //Step 4. 返回翻转后的字符串
			    return joinArray;
			}
			console.log( reverseString(str));

5、去除字符串首尾空格.(写一个自定义的 trim 函数)

var str=" 123abc321 ";
			console.log(str);
			function trim(str){
				 // 使用 split()方法返回一个新数组
				var splitString = str.split('');
				// 使用 shift()方法删除数组中第一个值
				if(splitString[0]==" "){splitString.shift();}
				// 使用 pop()方法删除数组中最后一个位置的值
				if(splitString[splitString.length-1]==" "){splitString.pop();}
				// 使用 join()方法返回删除后的数组
				var joinArray = splitString.join('');
				console.log(joinArray);
			}
			trim(str);

6、创建一个长度为5-10, 内容为数字字母下划线的随机字符串.

function random(min, max) {
			  return Math.floor(Math.random() * (max - min+1)) + min;
			}
			//用随机数生成一个5-10的数,作为长度
			var arr=[],x=random(5,10),j=0;
			for(i=0,t=0;i<x;i++){
				
				j=random(1,4);
				console.log(j);
				//j作为随机字符串有几种可能的装载容器  随机到1则从ASC值的0-9中 随机出一个数放到数组
				if(j==1){t=random(48,57);arr[i]=String.fromCharCode(t);}
				//j作为随机字符串有几种可能的装载容器  随机到2则从ASC值的A-Z中 随机出一个字母放到数组
				else if(j==2){t=random(65,90);arr[i]=String.fromCharCode(t);}
				//j作为随机字符串有几种可能的装载容器  随机到3则从ASC值的a-z中 随机出一个字母放到数组
				else if(j==3){t=random(97,122);arr[i]=String.fromCharCode(t);}
				//当j是4的时候也就是最后一个else 用ASC码转一个下划线“_”放到数组
				else {arr[i]=String.fromCharCode(95);}
			}
			//将数组用join()方法转成字符串 然后输出
			console.log(arr.join(""));

7、验证字符串:长度4-16; 只能包含数字、英文字符、下划线三种符号; 首字符不能是数字

var str=prompt("长度4-16; 只能包含数字、英文字符、下划线三种符号; 首字符不能是数字");
			//制定一个验证规则 从^开始 第一个值只能为A-Z、a-z、_中的一个  剩下的3-15个长度里可以为A-Z、a-z、_、0-9中的值
				var strgz=/^[A-Za-z_]{1}[a-zA-Z0-9_]{3,15}$/;
			// 用test()方法测试  录入的字符串是否符合 
				if(strgz.test(str)&&str!=null){
					document.write("yes<br>"+str);
					}else document.write("no<br>"+str);

8、将字符中单词用空格隔开,已知传入的字符串中只有字母,每个单词的首字母大写,
      请将每个单词用空格隔开 只保留第一个单词的首字母大写

var str="NewWroldAndNewThinks";
			// 使用 split()方法返回一个新数组
			var strs=str.split("");
			for(i=0;i<strs.length;i++){
				//如果strs[i]取出的字符在A-Z之间 并且不是第一个 就把它用toLowerCase()变为小写 然后用splice()方法 在i的位置开始 删除0个字符 写入" "
				if(strs[i]>='A'&&strs[i]<='Z'&&i>0){strs[i]=strs[i].toLowerCase();strs.splice(i,0," ");}
			}
			console.log(strs.join(""));

9、输入一个字符串代表一个邮箱,判断这个邮箱的格式是否正确。

         要有.    @,  @只有一个    @在小数点之前

var yx=prompt("请输入一个邮箱,@只有一个,@在小数点之前");
			//邮箱验证规则 从^开始 a-z、A-Z、0-9 (+的意思是多个) 到@(必须有@) 之后的a-z、A-Z、0-9、_、- 到. 之后 $结束
			var yxgz=/^[a-zA-Z0-9]+@[a-zA-Z0-9_-]+.[a-zA-Z0-9_-]+$/;
			if(yxgz.test(yx)){document.write("yes<br>"+yx);}
			else document.write("no<br />"+yx);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值