JavaScript字符串练习

1.xun寻找指定子串在父串出现的所有位置,将所有位置下标保存在一个数组中,返回出来
a)var str='abcd,abcd&abcd-abcd'; //父字符串
b) var str1='abcd';
c)输出:[0,5,10,15]
var a=[];
var str='abcd,abcd&abcd-abcd';
var str1='abcd';
var b=str.indexOf(str1); //返回某个指定的字符串值在字符串中首次出现的位置
while(b!=-1){
//从上面的indexOf(str1)检束,假设没有则返回-1
a.push(b); //push()方法可向数组的末尾添加一个或多个元素,并返回新的长度
b=str.indexOf(str1,b+1);
}
console.log(a);
2.一段文本,以空格分割,各个单词首字母大写
a)string='area input html css';
b) 输出的结果:Area Input Html Css;
var string='area input html css';
function sHow(string){
【JavaScript字符串练习】var arr=string.split(""); //solit()方法用于把一个字符串分割字符串数组。
arr[0]=arr[0].toUpperCase(); //toUpperCase()方法用于把字符串转换为大写
for(var i=0; i if(arr[i]==" "){
arr[i+1]=arr[i+1].toUpperCase();
}
}
return arr.join(""); //join(指定分隔符)
}
console.log(sHow(string));
3.有这样一个URL:http://vip.qq.com/a.php?a=1&&name="小米",请写一段js程序提取URL中的各个参数
(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中
a)输出:json={a:1,name:"小米"}
var str="http://vip.qq.com/a.php?a=1&&name=小米";
function sStr(url){
var result={};
var pattern=/[?|&](\w+)(=)?(W*)/g; //三目运算符
//g执行全局匹配;*无限个;\w查找单词字符;\W查找非单词字符
var pattern_result=pattern.exec(url);
//exec()正则表达式的检索,匹配到就返回该值,否则为null
while(pattern_result){
if(pattern_result[2]){
result[pattern_result[1]]=pattern_result[3];
}else{
result[pattern_result[1]]=undefined;
}
pattern_result=pattern.exec(url);
}
return result;
}
console.log(sStr(str));
4.去字符串头尾空格,编写函数trim,满足trim('abc');
其一:

var arr=[]; var str='abc'; arr.pop(); arr.shift(); console.log(str.slice(1,4));

其二:
var str='abc'; function trim(str){ var res; if (typeof str==='string'){ res=str.replace(/^\s+/g,'').replace(/\s+$/g,'');

//.replace用一些字符替换一些字符 }else{ res=str; } return res; } console.log(trim(str));


    推荐阅读