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(1.3.2) 7行代码搞定跟随屏幕滚动的层
May 21 Javascript
javascript 年月日联动实现核心代码
Dec 21 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
Nov 05 Javascript
js原生appendChild的bug解决心得分享
Jul 01 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
Nov 25 Javascript
jQuery 如何实现一个滑动按钮开关
Dec 01 Javascript
浅述Javascript的外部对象
Dec 07 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
Jan 04 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
Dec 20 Javascript
element-ui中select组件绑定值改变,触发change事件方法
Aug 24 Javascript
Cocos2d实现刮刮卡效果
Dec 20 Javascript
微信小程序bindtap事件与冒泡阻止详解
Aug 08 Javascript
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
php 将excel导入mysql
2009/11/09 PHP
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
PHPCMS的使用小结
2010/09/20 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
php中chdir()函数用法实例
2014/11/13 PHP
用js解决数字不能换行问题
2010/08/10 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
python的变量与赋值详细分析
2017/11/08 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
python 串行执行和并行执行实例
2020/04/30 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
英国电器零售商:PRC Direct
2018/06/21 全球购物
餐厅销售主管职责范本
2014/02/19 职场文书
社团活动总结报告
2014/06/27 职场文书
医药销售自我评价200字
2014/09/11 职场文书
运动会广播稿200字
2014/10/18 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
数学备课组工作总结
2015/08/12 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技