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="479114169@qq.com";
//从左侧开始检测第一个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("nice@qq.com ");
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));//拼接后的字符串
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。