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

var arr=string.split(""); //solit()方法用于把一个字符串分割字符串数组。

arr[0]=arr[0].toUpperCase(); //toUpperCase()方法用于把字符串转换为大写

for(var i=0;i<arr.length-1;++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));

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值