`

javascript中字符串常用操作总结

 
阅读更多
String对象属性

(1)length属性

length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度。当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不一样。

var str = 'abc';
console.log(str.length);
(2)prototype属性

prototype在面向对象编程中会经常用到,用来给对象添加属性或方法,并且添加的方法或属性在所有的实例上共享。因此也常用来扩展js内置对象,如下面的代码给字符串添加了一个去除两边空格的方法:

String.prototype.trim = function(){
    return this.replace(/^\s*|\s*$/g, '');
}
String对象方法

1.获取类方法

(1) charAt()

stringObject.charAt(index)

charAt()方法可用来获取指定位置的字符串,index为字符串索引值,从0开始到string.leng - 1,若不在这个范围将返回一个空字符串。如:

var str = 'abcde';
console.log(str.charAt(2));        //返回c
console.log(str.charAt(8));        //返回空字符串
(2) charCodeAt()

stringObject.charCodeAt(index)

charCodeAt()方法可返回指定位置的字符的Unicode编码。charCodeAt()方法与charAt()方法类似,都需要传入一个索引值作为参数,区别是前者返回指定位置的字符的编码,而后者返回的是字符子串。

var str = 'abcde';
console.log(str.charCodeAt(0));        //返回97
(3) fromCharCode()

String.fromCharCode(numX,numX,…,numX)

fromCharCode()可接受一个或多个Unicode值,然后返回一个字符串。另外该方法是String 的静态方法,字符串中的每个字符都由单独的数字Unicode编码指定。

String.fromCharCode(97, 98, 99, 100, 101)    //返回abcde
2.查找类方法

(1) indexOf()

stringObject.indexOf(searchvalue,fromindex)

indexOf()用来检索指定的字符串值在字符串中首次出现的位置。它可以接收两个参数,searchvalue表示要查找的子字符串,fromindex表示查找的开始位置,省略的话则从开始位置进行检索。

var str = 'abcdeabcde';
console.log(str.indexOf('a'));    // 返回0
console.log(str.indexOf('a', 3));    // 返回5
console.log(str.indexOf('bc'));    // 返回1
(2) lastIndexOf()方法

stringObject.lastIndexOf(searchvalue,fromindex)

lastIndexOf()语法与indexOf()类似,它返回的是一个指定的子字符串值最后出现的位置,其检索顺序是从后向前。

var str = 'abcdeabcde';
console.log(str.lastIndexOf('a'));    // 返回5
console.log(str.lastIndexOf('a', 3));    // 返回0 从第索引3的位置往前检索
console.log(str.lastIndexOf('bc'));    // 返回6
(3) search()方法

stringObject.search(substr)
stringObject.search(regexp)

search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。它会返回第一个匹配的子字符串的起始位置,如果没有匹配的,则返回-1。

var str = 'abcDEF';
console.log(str.search('c'));    //返回2
console.log(str.search('d'));    //返回-1
console.log(str.search(/d/i));    //返回3
(4) match()方法

stringObject.match(substr)
stringObject.match(regexp)

match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

如果参数中传入的是子字符串或是没有进行全局匹配的正则表达式,那么match()方法会从开始位置执行一次匹配,如果没有匹配到结果,则返回null。否则则会返回一个数组,该数组的第0个元素存放的是匹配文本,除此之外,返回的数组还含有两个对象属性index和input,分别表示匹配文本的起始字符索引和stringObject 的引用(即原字符串)。

var str = '1a2b3c4d5e';
console.log(str.match('h'));    //返回null
console.log(str.match('b'));    //返回["b", index: 3, input: "1a2b3c4d5e"]
console.log(str.match(/b/));    //返回["b", index: 3, input: "1a2b3c4d5e"]
如果参数传入的是具有全局匹配的正则表达式,那么match()从开始位置进行多次匹配,直到最后。如果没有匹配到结果,则返回null。否则则会返回一个数组,数组中存放所有符合要求的子字符串,并且没有index和input属性。

var str = '1a2b3c4d5e';
console.log(str.match(/h/g));    //返回null
console.log(str.match(/\d/g));    //返回["1", "2", "3", "4", "5"]
3.截取类方法

(1)substring()

stringObject.substring(start,end)

substring()是最常用到的字符串截取方法,它可以接收两个参数(参数不能为负值),分别是要截取的开始位置和结束位置,它将返回一个新的字符串,其内容是从start处到end-1处的所有字符。若结束参数(end)省略,则表示从start位置一直截取到最后。

var str = 'abcdefg';
console.log(str.substring(1, 4));    //返回bcd
console.log(str.substring(1));    //返回bcdefg
console.log(str.substring(-1));    //返回abcdefg,传入负值时会视为0
(2) slice()

stringObject.slice(start,end)

slice()方法与substring()方法非常类似,它传入的两个参数也分别对应着开始位置和结束位置。而区别在于,slice()中的参数可以为负值,如果参数是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符。

var str = 'abcdefg';
console.log(str.slice(1, 4));    //返回bcd
console.log(str.slice(-3, -1));    //返回ef
console.log(str.slice(1, -1));    //返回bcdef
console.log(str.slice(-1, -3));    //返回空字符串,若传入的参数有问题,则返回空
(3) substr()

stringObject.substr(start,length)

substr()方法可在字符串中抽取从start下标开始的指定数目的字符。其返回值为一个字符串,包含从 stringObject的start(包括start所指的字符)处开始的length个字符。如果没有指定 length,那么返回的字符串包含从start到stringObject的结尾的字符。另外如果start为负数,则表示从字符串尾部开始算起。

var str = 'abcdefg';
console.log(str.substr(1, 3))    //返回bcd
console.log(str.substr(2))    //返回cdefg
console.log(str.substr(-2, 4))    //返回fg,目标长度较大的话,以实际截取的长度为准
4.其他方法

(1) replace()方法

stringObject.replace(regexp/substr,replacement)

replace()方法用来进行字符串替换操作,它可以接收两个参数,前者为被替换的子字符串(可以是正则),后者为用来替换的文本。

如果第一个参数传入的是子字符串或是没有进行全局匹配的正则表达式,那么replace()方法将只进行一次替换(即替换最前面的),返回经过一次替换后的结果字符串。

var str = 'abcdeabcde';
console.log(str.replace('a', 'A'));
console.log(str.replace(/a/, 'A'));
如果第一个参数传入的全局匹配的正则表达式,那么replace()将会对符合条件的子字符串进行多次替换,最后返回经过多次替换的结果字符串。

var str = 'abcdeabcdeABCDE';
console.log(str.replace(/a/g, 'A'));    //返回AbcdeAbcdeABCDE
console.log(str.replace(/a/gi, '$'));    //返回$bcde$bcde$BCDE
(2) split()方法

stringObject.split(separator,howmany)

split()方法用于把一个字符串分割成字符串数组。第一个参数separator表示分割位置(参考符),第二个参数howmany表示返回数组的允许最大长度(一般情况下不设置)。

var str = 'a|b|c|d|e';
console.log(str.split('|'));    //返回["a", "b", "c", "d", "e"]
console.log(str.split('|', 3));    //返回["a", "b", "c"]
console.log(str.split(''));    //返回["a", "|", "b", "|", "c", "|", "d", "|", "e"]
也可以用正则来进行分割

var str = 'a1b2c3d4e';
console.log(str.split(/\d/)); //返回["a", "b", "c", "d", "e"]
(3) toLowerCase()和toUpperCase()

stringObject.toLowerCase()
stringObject.toUpperCase()

toLowerCase()方法可以把字符串中的大写字母转换为小写,toUpperCase()方法可以把字符串中的小写字母转换为大写。

var str = 'JavaScript';
console.log(str.toLowerCase());    //返回javascript
console.log(str.toUpperCase());    //返回JAVASCRIPT
分享到:
评论

相关推荐

    JavaScript的String字符串对象常用操作总结

    String对象用于存储字符串数据,这里我们做了JavaScript的String字符串对象常用操作总结,需要的朋友可以参考下

    javaScript 实现重复输出给定的字符串的常用方法小结

    主要介绍了javaScript 实现重复输出给定的字符串的常用方法,总结分析了JavaScript重复输出给定字符串的4种常见操作技巧,需要的朋友可以参考下

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

    主要介绍了js字符串类型String常用操作,结合实例形式总结分析了javascript字符串类型String常用方法及相关操作注意事项,需要的朋友可以参考下

    JavaScript字符串常用类使用方法汇总

    今天的这篇文章就分享几年以来总结的一些最常见和最有用的字符串相关的方法的例子和简要说明。便于程序员用于快速参考。当然,最有经验的开发人员对这些操作很熟悉,但我认为这是一个很好的方法帮助初学者理解这些...

    JS字符串常用操作方法实例小结

    主要介绍了JS字符串常用操作方法,结合实例形式总结分析了javascript字符串获取、返回、拼接、替换、搜索、计算等相关操作技巧,需要的朋友可以参考下

    JavaScript中常用的简洁高级技巧总结

    typeof操作符返回一个字符串,表示未经计算的操作数的类型;该运算符数据类型(返回字符串,对应列表如图) 1.2 instanceof var str = "This is a simple string"; var num = 1111; var boolean = true; var und ...

    JavaScript类型相关的常用操作总结

    js的基本数据类型有哪些?...本文主要给大家介绍了关于js类型相关的常用操作,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 JS数组,字符串,json互相转换 JS数组转字符串 使用数组自

    javascript基础知识PDF

    3.4 JavaScript 中的字符串和日期对象. . . . . . . . . . . 21 3.4.1 字符串对象. . . . . . . . . . . . . . . . . 21 3.4.2 日期对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

    Javascript数组操作高级心得整理

    (1) 转换成字符串 19 (2) 转换成数字 20  parseInt() 20  parseFloat() 20 (3) 强制类型转换 20  Boolean() 函数 20  Number()函数 20  String() 函数 21 4. JavaScript常用对象 21 (1) 对象类型说明 21 ...

    3分钟掌握常用的JS操作JSON方法总结

    工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是JSON,所以这里把常用的JS操作JSON的方法做了总结~~ 一、概要简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,同时,JSON...

    基于JavaScript Array数组方法(新手必看篇)

    Array类型是ECMAScript中最常用的引用类型。...下面总结一下JavaScript中数组常用的操作函数及用法。 •创建数组 创建数组主要有构造函数和数组字面量两种方法,如下所示: var arr = new Array(); var arr =

    freemarker总结

    下面是常用的内建的字符串函数: html:对字符串进行HTML编码 cap_first:使字符串第一个字母大写 lower_case:将字符串转换成小写 upper_case:将字符串转换成大写 trim:去掉字符串前后的空白字符 下面是集合的...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    109.使用特定字符串对一个字符串进行分割? 110.格式化输出数字和字符? 111.生成一定范围的随机数? 112.调用其它应用程序? 113.禁止列出站点文件目录? 114.防止用户直接输入文件名访问JSP? 115.防止表单重复提交? 116...

    js常用数组操作方法简明总结

    //javascript 中的数组分割 var colors = ["red","green","blue"]; //alert(colors.toString()); alert(colors.join("|")); //返回结果是red|green|blue var colors = ["red","green","blue",null];...

    ASP.NET编程之道.part1.rar

    细节31 分析路径字符串函数总结 细节32 重载一元、二元运算符 细节33 对象也能排序 细节34 实现IDisposable接口清除对象 细节35 将字符串转为字符数组 细节36 将字符数组写入到字符串 细节37 使用var创建隐型局部...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    字符串常用操作 字典的使用 三级菜单实例 本周作业-购物车优化 第3周 作业 上节内容回顾 集合及其运算 文件读与写详解 心灵鸡汤 文件修改详解 字符编码转换详解 函数与函数式编程 函数式编程之参数详解 局部变量与...

    asp.net专家疑难解答200问

    如何使用Web.config配置数据库连接字符串 161.如何编写访问数据库的通用代码 162.如何在SQL Server数据库中编程获取用户表的数目和名称 163.如何获取SQL Server服务器端所有数据库列表 164.如何保存...

    asp.net专家疑难解答200问源码

    157.如何使用Web.config配置数据库连接字符串 161.如何编写访问数据库的通用代码 162.如何在SQL Server数据库中编程获取用户表的数目和名称 163.如何获取SQL Server服务器端所有数据库列表 164.如何保存图片文件...

    Java面试宝典2010版

    19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 90 20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序...

Global site tag (gtag.js) - Google Analytics