js字符串类型String常用操作实例总结


Posted in Javascript onJuly 05, 2019

本文实例讲述了js字符串类型String常用操作。分享给大家供大家参考,具体如下:

字符串是不可变的。

对字符串的所有操作都会返回一个新字符串,原字符串不变

在 ie 6-7 时,' abc ' + ' cdf '  如果两个大量的字符串拼接,性能很低,原因是需要开辟新内存 和 创建新变量,导致性能低下,而在ie8 后得到大幅改善。

字符串常用方法

// 创建字符串
var a = new String('123')
var a = '123'
a.length   // => 3, length属性返回字符串字符的个数
a[0]    // => 1, 索引 求指定索引的字符串
// charAt()方法,也是求指定索引的字符串
a.toUpperCase()  // 将字符串全部转为大写, 
// 例:var str = "hello world"; str.toUpperCase()
a.toLowerCase()  // 将字符串全部转为小写, 
// 例:var str = "HELLO WORLD"; str.toLowerCase()

indexOf()        //搜索指定字符串出现的位置,接收两个参数,第一个参数表示要查找的元素,
// 第二个参数表示要查找的位置,若找到则返回对应元素所在的位置,否则返回-1

var s = 'hello world!';
alert(s.indexOf('world')); //返回6
alert(s.indexOf('World')); //返回-1
alert(s.indexOf('o'));  //返回4
alert(s.indexOf('o',6));  //从第六位开始查找,返回7

concat            // 将一个或多个字符串拼接起来,返回拼接到的新的字符串,原字符串不变

var str1 = "hello ";
var res = str1.concat(" world","!");
alert(res);  //返回hello world!
alert(str1);  //返回hello

slice             // 返回被操作字符的子字符串,原字符串不变,
// 接受两个参数,字符串的起始位置和结束位置,返回的字符串不包含结束位置的字符,
// 第一个参数要小于第二个参数,否则返回"",
// 若只有一个参数,返回起始位置到字符串结尾的所有字符串,
// 若传递的参数为负数,将传入的负值与字符创的长度相加

var str = "hello world!";
alert(str.slice(3,7));//返回lo w
alert(str.slice(3));//返回lo world!
alert(str.slice(9,5));//返回""
alert(str.slice(-7,-3));//负数与长度相加,即str.slice(5,9)返回 wor
alert(str.slice(5,9));//返回 wor

substring         // 当传入的参数是正数时,substring与slice的功能基本相同,
// 唯一的区别是当第一个参数大于第二个参数时,方法将第二个参数作为截取的起始位置
// 而将第一个参数作为截取结束的位置,且截取的字符串不包含第一个参数位置对应的值,
// 当传入的参数是负值时,该方法会将所有的负值转化为0

var str = "hello world!";
alert(str.substring(3,7));//返回lo w
alert(str.substring(3));//返回lo world!
alert(str.substring(9,5));//返回 wor,即str.substring(5,9),不包含第九项
alert(str.substring(-7,-3));//负数与长度相加,即str.substring(0,0)返回""
alert(str.substring(-7,3));//负数与长度相加,即str.substring(0,3)返回hel

substr            // 返回指定位置开始的指定长度的字符串,原字符串不变,
// 若第二个参数缺省就一直截取到字符串结束,当传递的参数为负值时,
// 方法会将负的第一个参数与字符串的长度相加,将负的第二个参数转化为0

var s = 'hello world!'
alert(s.substr(0, 5));//从索引0开始,截取5个字符串,返回hello
alert(s.substr(7)); //从索引7开始截取,一直到结束,返回orld!
alert(s.substr(-7,3));//负数与长度相加,即str.substr(5,3),返回 wo
alert(s.substr(-7,-3));//负数与长度相加,即str.substr(5,0),返回""

split             // 基于指定的分隔符将一个字符串分割成多个字符串,并将结果存放在一个数组中,
// 可以传两个参数,第一个参数为分隔符,第二个参数用于指定返回数组的大小,
// 若省略该参数,则返回整个数组

var s = "1,23,45";
var arr1 = s.split(",");
alert(arr1);//返回数组["1","23","45"]
var arr2 = s.split(",",2);
alert(arr2);//返回数组["1","23"]

trim              // 删除元素前置及后缀的所有空格,然后返回结果,原字符串不变

var str1 = "  hello world ";
var str2 = str1.trim();
alert(str1);//返回"  hello world "
alert(str2);//返回"hello world"

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容还可查看本站专题:《JavaScript字符与字符串操作技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
Jan 22 Javascript
Web开发之JavaScript
Mar 29 Javascript
JS字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
全面了解javascript三元运算符
Jun 27 Javascript
浅谈vue中数据双向绑定的实现原理
Sep 14 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
Sep 18 Javascript
详解angularjs实现echart图表效果最简洁教程
Nov 29 Javascript
Node中使用ES6语法的基础教程
Jan 05 Javascript
JsonProperty 的使用方法详解
Oct 11 Javascript
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
Vue的生命周期一起来看看
Feb 24 Vue.js
JS前端知识点总结之内置对象,日期对象和定时器相关操作
Jul 05 #Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
Jul 04 #Javascript
JS开发常用工具函数(小结)
Jul 04 #Javascript
Vue.js 中的实用工具方法【推荐】
Jul 04 #Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
Jul 04 #Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
Jul 04 #Javascript
微信小程序自定义弹窗实现详解(可通用)
Jul 04 #Javascript
You might like
杏林同学录(九)
2006/10/09 PHP
PHP $_FILES函数详解
2011/03/09 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
javascript两段代码,两个小技巧
2010/02/04 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
python实现推箱子游戏
2020/03/25 Python
Django web框架使用url path name详解
2019/04/29 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
Python新手学习raise用法
2020/06/03 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
PHP如何与mysql建立链接
2013/05/05 面试题
创业计划书的内容步骤和要领
2014/01/04 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
光盘行动倡议书
2014/02/02 职场文书
婚前保证书范文
2015/02/28 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2015年审计人员工作总结
2015/05/26 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
使用CSS连接数据库的方式
2022/02/28 HTML / CSS