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);