JavaScript(4)__Js基础<字符串>

1:字符串对象的创建

var str="hello world";

var str= new String('hello world');

字符串可以被视为字符数组,因此可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)。但是,字符串与数组的相似性仅此而已。实际上,无法改变字符串之中的单个字符。



2:字符串的length属性

length属性返回字符串的长度,该属性是不能修改的



3:判断字符串是否相等

需求:模拟登录,给三次机会,并提示还有几次。

用户名和密码都是admin

思路:1:获取用户输入的内容

     2:字符串的比较

     3:提示次数(错误的情况下)

var count = 1;
while(true){
    var name = prompt("请输入用户名");
    var pwd = prompt("请输入密码");
    if(name==="admin"&& pwd==="admin"){
        alert("登录成功");
        break;
    }else {
        if(count>=3){
            alert("登录失败,没有机会了");
            break;
        }else {
            alert("您还有"+(3-count)+"次次数");

        }
    }

    count++;
}


4:查找指定位置的字符

charAt方法:返回指定位置的字符

var str='abcd';

console.log(str.charAt(2));//  c

遍历字符串:把字符串的每一个字符输出

//    遍历字符串
for (var i = 0; i < str.length; i++) {
    console.log(str.charAt(i));
}


统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他字符出现的次数。*ABCDEabcd123456!@#$%^

var str1 = "asdASAS23423*&^%%";
var daxie = 0;
var xiaoxie = 0;
var num = 0;
var other = 0;
for (var i = 0; i < str1.length; i++) {
    var c = str1.charAt(i);
    if (c >= "A" &&c <= "Z") {
        daxie++;
    } else if (c >= "a"&& c <= "z") {
        xiaoxie++;
    } else if (c >= 0 && c<= 9) {
        num++;
    } else {
        other++;
    }
}
console.log("大写个数:"+daxie+"  小写个数:"+xiaoxie+"  数字个数:"+num+"  非法字符:"+other);


5:查找对应字符的下标

indexOf: indexOf返回该元素(可以单个字符,可以字符串,注意大小写敏感)的位置,不存在返回-1



trim():去掉字符串首尾空格





6:截取字符串slice

1:它的第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不含该位置)。

2:如果只有一个参数,从这个位置到末尾

3:如果参数是负数,从倒数位置计数

4:第一个参数大于第二个,返回空串





7:截取字符串 substring

1:substring方法用于从原字符串取出子字符串并返回,不改变原字符串。它与slice作用相同,但不支持负数,因此不建议使用这个方法,优先使用slice。

   2:如果参数是负数,会将负数自动变成0

   3:如果第一个参数大于第二个,会自动交换两个参数的位置



8:截取字符串:substr

 1:第一个参数表示起始位置,第二个参数表示长度

2:如果第二个参数为负数,会自动转换为0,然后返回空串


slicesubstringsubstr区别?

slice和substr可以支持负数

slice和substring的两个参数是起始和终止位置,而substr的第二个参数是长度

substring如果第一个参数大于第二个,会自动交换位置



9:大小写转换

toLowerCase:全部转换为小写

toUpperCase:全部转换为大写

var str = "javaScript";
console.log(str.toLowerCase());//javascript
console.log(str.toUpperCase());//JAVASCRIPT

 

需求:1:将字符串首字母大写,其余小写

var str1 = "" +str.toUpperCase().charAt(0) + str.slice(1).toLowerCase();
console.log(str1);

 

     2:统计大串中小串出现的次数

var s1 = "asdasdJavasdsdfJava";
var s2 = "Java";
var count = 0;
var index = 0;
while ((index = s1.indexOf(s2)) != -1) {
    count++;
    s1 = s1.slice(index+s2.length);
}
console.log(count);




10:字符串的连接:Concat

concat:连接一个或者多个字符串

varstr1 = 'my name ';

       varstr2 = 'is ivan ';

       vardate = '2016.11.30 ';

      console.log(str1.concat(str2,date));

 


11:将字符串分割成数组:Split

split:按照参数的将字符串分割成数组

//字符串的分割
var str = "java-script-h5";
//将字符串按照指定的字符串进行分割
var arr = str.split("-");
console.log(arr);
//将数组转换成字符串 java,script,h5
console.log(arr.toString());
//将字符串进行分割
var arr1 = arr.toString().split(",");
console.log(arr1);

console.log(str.search("script"));
console.log(str.indexOf("script"));



12:查找字符串 Search

 search方法的用法等同于match,但是返回值为匹配的第一个位置。如果没有找到匹配,则返回-1。

  varstr='Farsight ivan teacher';

 console.log(str.search('ivan')); //精确查找第一次出现ivan字符串的位置

  相比indexof ,search更强大,支持正则表达式进行规则过滤

需求:统计大串中小串出现的次数

var l1 = "sadH5asdasH5asdasdH5";
 var l2 = "H5";
 var count = 0;
 var index = 0;
 while((index = l1.search(l2))!=-1) {
     count++;
     l1 = l1.slice(index+l2.length);
 }
 console.log(count);



13:匹配字符串 Match

match方法用于确定原字符串是否匹配某个子字符串,返回一个数组,成员为匹配的第一个字符串。如果没有找到匹配,则返回null。

var str2='ivan 20 yzg 20 lili 50';
alert(str2.match(20).index);

返回数组还有index,分别表示匹配字符串开始的位置。



14:替换  replace

 varstr='ivan2016 yzg2016';

 console.log(str.replace('2016', '')); //删除第一个数字2016



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值