JavaScript基础总结(四)——字符串总结

1、字符串位置操作
1-1、str.charAt(index) 字符串中index位置的字符

str.charCodeAt(index) 字符串中index位置的字符编码

代码如下:

var str="hello word";
    //str.charAt(index位置字符)
    document.write(str.charAt(2)); //输出值为l
    document.write("<br />");
    //str.charAt(index位置字符编码)
    document.write(str.charCodeAt(2)); //输出值为108

1-2、str.indexOf("从左至右起一个字符串中搜索指定字符")

str.lastIndexOf("从右至左起一个字符串中搜索指定字符")
 indexOf与lastIndexOf返回数值,没有搜索的其值返回-1

代码如下:

var strs="[email protected]";
    //从左侧开始检测第一个1出现的位置
    document.write(strs.indexOf("1")); //输出值为3
    document.write("<br />");
    //检测2在字符串中出现的位置返回值为-1,表示字符串中2没有出现
    document.write(strs.indexOf("2")); //输出值为-1
    document.write("<br />");
    document.write(strs.lastIndexOf("7")); //输出值为1

2、字符串截取
str.slice(start,end) 中start为必选选项,指定字符串的开始位置;end为可选,表示字符串的结束位置,end不在截取范围内,省略时截取至字符串未尾

str.substring()同slice,区别在于对于负值的操作
当为负数时自动将负值转为0,end为负值时自动将其默认为字符串截取的开始位置
str.substr(start,len)中start为必选,指定字符开始位置,当start为负值时,将字符长度与负值相加;len表示截取的字符总数,当为负值时返回空字符串
代码如下:
var arr="hello world";
    //str.slice(start,end) 
    //start为字符的开始位置必选选项,end为字符串的结束位置可选选项,此项不写时默认到字符串结束位置
    //如果为负数时用字符长度+传入的负值参数        
    document.write(arr.slice(2)+"<br/>");//输出值为l至最后llo world
    //str.substring(start,end)同slice,区别在于传入的参数为负值时自动将负值转换为0
    document.write(arr.substring(2)+"<br/>");//输出值为l至最后llo world
    document.write(arr.substring(-7,7)+"<br/>");//hello w
    //str.substr(start,len)start指定字符串开始位置,当start为负值时,负值与字体长度相加
    //len表示截取的字符串长度,当为负值时返回空字符串
    document.write(arr.substr(2,4)+"<br/>");//llo

字符串截取例如下:

<!--需要大家判断出“JavaScript”这个字符出现的位置,以及它在这段话中总共出现了几次,-->
<script type="text/javascript">
    var str="JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。JavaScript 是因特网上最流行的脚本语言。JavaScript很容易使用!你一定会喜欢它的!",//原字符串 
        sum=1; //字符串初次显示的位置 
    //循环原数找出J出现的位置
    for(var i=0;i<str.length;i++){
        if(str[i].charAt("J")==="J"){ //通charAt属性查找J的位置
            if(str.substr(i,10)){//截取JavaScript的位置
                document.write("JavaScript第"+sum+"次出现是在"+i+"的位置"+"<br />");
                sum+=1; //每出现一次增加1
            }
        }
    }
    document.write("JavaScript在这段话中出现了"+(sum-1)+"次");//总共出现的次数
</script>

3、字符串方法综合应用:编写js函数,用于查找邮箱的后缀名,代码如下:

//查找邮箱后缀名
    function suffix(str){
        for(var i=0;i<str.length;i++){//循环原字符串
        if(str[i]==="@"){//当字符串有@元素时打印@的下标
            document.write("后续名为:"+str.slice(i));
            }
        }
    }
    suffix("[email protected] ");

4、字符串转数组:

str.split("字符串的分隔符") 字符串转数组

5、str.toUpperCase()字符串转换成大写
strs.toLowerCase()字符串转小写
以上两种方法会生成副本,原字符中不变
例:
//将字符串"Never deter till tomorrow that which you can do today"的”tomorrow”转化为大写。

var str="Never deter till tomorrow that which you can do today";
    var index=str.indexOf("tomorrow");//获取tomorrow中t的下标17
    var indes=str.substr(index,8);// 获得字符串tomorrow
    var upperStr=indes.toUpperCase(); //将字符串tomorrow并转换成大写
    console.log(str.slice(0,17)+upperStr+str.slice(25));//拼接后的字符串

相关推荐