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 相关文章推荐
从Ajax到JQuery Ajax学习
Feb 14 Javascript
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
JavaScript中奇葩的假值示例应用
Mar 11 Javascript
jquery 中ajax执行的优先级
Jun 22 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
May 30 Javascript
老生常谈js动态添加事件--- 事件委托
Jul 19 Javascript
vue自定义过滤器创建和使用方法详解
Nov 06 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
Mar 05 Javascript
一文快速了解JQuery中的AJAX
May 31 jQuery
微信小程序实用代码段(收藏版)
Dec 17 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 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
php抓取页面与代码解析 推荐
2010/07/23 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
smarty中js的调用方法示例
2014/10/27 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
Javascript学习笔记 delete运算符
2011/09/13 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
JavaScript SHA512&SHA256加密算法详解
2015/08/11 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
如何利用python查找电脑文件
2018/04/27 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
django框架auth模块用法实例详解
2019/12/10 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
什么是GWT的Module
2013/01/20 面试题
在校生钳工实习自我鉴定
2013/09/19 职场文书
网络工程师职业规划
2014/02/10 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
信息工作经验交流材料
2014/05/28 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
Linux安装Docker详细教程
2022/07/07 Servers
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL