JavaScript 字符串处理详解

一、创建字符串

      创建一个字符串,将一组字符串用引号包起来,将其赋值给一个字符串变量。

var  JsStr="Hello,JavaScript String!";

二、字符串查找方法

1.字符方法charAt(),charCodeAt(),fromCharCode()

(1)charAt()函数

功能:返回字符串中指定位置的字符;

语法:String.charAt(n);

参数:n--字符在字符串中的位置(字符串第一个字符的位置为0);

返回值:返回n位置的字符,如果n不在0到(string.length-1)之间,将返回空字符串。

示例:

(2)charCodeAt()函数

功能:返回指定位置的字符的Unicode编码;

语法:String.charCodeAt(n);

参数:n--字符在字符串中的位置(字符串第一个字符的位置为0);

返回值:返回n位置的Unicode编码(此编码为16位,在0-65536之间),如果n不在0到(string.length-1)之间,将返回NaN。

示例:

(3)fromCharCode()函数

功能:接受指定的Unicode值,然后返回一个字符串;

语法:String.fromCharCode(numX,numX...);

参数:numX--必须值,一个或多个Unicode值,通过fromCharCode函数得到Unicode值得字符串;

返回值:字符串;

特性:静态方法,实为构造函数String()的属性;

示例:

小结:

charAt()和charCodeAt()之间存在共性,其功能都是根据下标查找指定字符,参数n为要查询的字符下标,有效范围为0~JsStr.length-1之间;charCodeAt()和fromCharCode()互为反向操作。

2.位置方法indexOf(),lastIndexOf()

(1)indexOf()函数

功能:检索指定字符串在字符串中首次出现的位置;

语法:string.indexOf(searchvalue,fromindex);

参数:searchvalue--必需,要查找的子字符串;

fromindex--可选的整数参数。合法取值范围为0到string.length-1,负值时默认为0,如果省略词此参数默认将从string的开始位置开始查找;

返回值:返回子字符串searchvalue在字符串sring中首次出现的位置,没有在字符串string中的子字符串searchvalue,返回-1;

示例:

(2)lastIndexOf()函数

功能:检索指定字符串在字符串中最后出现(匹配)的位置;

语法:string.lastIndexOf(searchvalue,fromindex);

参数:searchvalue--必需,要查找的子字符串;

fromindex--可选的整数参数。合法取值范围为0到string.length-1,负值时默认为0,如果省略词此参数默认将从string的最后位置开始查找;

返回值:返回子字符串searchvalue在字符串sring中最后出现的位置,没有在字符串string中的子字符串searchvalue,返回-1;

示例:

小结:

indexOf()和lastIndexOf()函数存在共性,功能都是查找指定子字符串在字符串中的下标,参数要求相同,指定子字符串在字符串中时返回首次出现的下标,否则返回-1。

3.匹配方法match(),search(),replace(),split()

(1)match()函数

功能:检索字符串中指定的值,找到一个或多个正则表达式的匹配;

语法:string.match(searchvalue);

string.match(regexp);

参数:searchvalue--必需,要检索的字符串值;

regexp--必需。要匹配的Regexp对象;

返回值:存放匹配结果的数组,数组的内容依赖于regexp是否具有全局变量g;

示例:

(2)search()函数

功能:检索字符串中指定的值,或检索与正则表达式相匹配的子字符串;

语法:string.search(regexp);

参数: regexp--必需。该参可以是需要在字符串中检索的子字符串,也可以是需要检索的Regexp对象;

返回值:string字符串中第一个与regexp相匹配的子字符串的起始位置,如果没有匹配到则返回-1;

示例:

(3)replace()函数

功能:用来查找某字符串并将其替换为另一个字符串;

语法:string.replace(regexp/substr,repalcement);

参数: regexp/substr--必需。指定需要替换的子字符串或RegExp对象

repalcement--可选。一个字符串,指定替换文本或生成替换文本的函数;

返回值:一个新的字符串,替换后得到的。

示例:

(4)split()函数

功能:根据指定分隔符将字符串分割成多个子字符串,并返回成数组;

语法:string.split(separator,howmany);

参数: separator--必需。字符串或正则表达式,从参数指定的地方分割字符串;

howmany--可选。指定返回数组的最大长度,默认返回数组中所有元素;

返回值:一个字符串数组,返回数组中的字符串不包含separator自身;

示例:

三、操作方法

1.拼接方法

(1)concat()函数

功能:用于连接两个个或多个字符串和两个或多个数组;

语法:arrayObject.concat(arrayX,arrayX...);

参数:arrayX--必需。该参数可以是具体的值,也可以是数据对象,可以任意多个;

返回值:返回新的字符串或数组

示例:

2.截取方法

(1)根据下标截取字符串slice()

功能:根据下标返回已有字符串或数组中选定的元素;

语法:arrayObject.slice(start,end);

参数:start--必需。开始下标,负数时从数组或字符串的尾部开始算起位置;

end--可选。结束下标,负数时从数组或字符串的尾部开始算起位置;

返回值:返回新的字符串或数组;

示例:

(2)根据下标截取字符串substring()

功能:提取两个下标之间的字符

语法:string.slice(start,end);

参数:start--必需。开始下标,非负数;

end--可选。结束下标,非负数;

返回值:返回提取字符串;

示例:

(2)根据长度截取字符串substr()

功能:提取从开始下标的指定数目字符;

语法:string.slice(start,length);

参数:start--必需。开始下标,负数时从字符串的尾部开始算起的位置;

length--可选。子字符串中的字符数。必须是数值;

返回值:返回提取字符串;

示例:

2.空格处理  

(1)清除字符串前置和后缀空格方法trim();

(2)清除字符左边空格方法trimLeft();

(3)清除字符右边空格方法trimRight();

示例:

3.比较方法localeCompare()

功能:用本地特定顺序比较两个字符串

语法:stringVar.localeCompare(stringExp);

参数:stringVar--必需。要比较的第一个字符串;

stringExp--必需。要比较的第二个字符串;

返回值:返回stringVar和stringEx比较结果(-1:如果stringVar排在stringExp前;+1:如果stringVar排在stringExp后,如果两个字符相等,则为0(零));

示例:

三、编码方法

1.字符串常规编码与解码escape()和unescapae()函数

(1)escape()编码函数

功能:对字符串进行编码,这样可以在所有计算机上读取该字符串;

语法:escape(stringvar);

参数:stringvar--必需。要转义或编译的字符串;

返回值:已编译的stringvar副本;

(2)unescape()编码函数

功能:对unescape()函数编码的字符串解码;

语法:unescape(stringvar);

参数:stringvar--必需。要反解码或反转义的字符串;

返回值:已解码的stringvar副本;

(1)(2)示例:

2.URI字符串编码与解码encodeURI(),decodeURI()函数

(1)encodeURI()编码函数

功能:把字符串作为URI进行编码

语法:encodeURI(stringURI);

参数:stringURI--必需。一个字符串,含有URI或者其他编码的文本;

返回值:已编译的stringURI副本;

(2)decodeURI()解码函数

功能:对encodeURI()函数编码的字符串解码;

语法:decodeURI(stringURI);

参数:stringURI--必需。含有解码的URI或者其他要解码的文本;

返回值:已解码的stringURI副本;

(1)(2)示例:

2.URI组件编码与解码encodeURIComponent(),decodeURIComponent()函数

(1)encodeURI()编码函数

功能:把字符串作为URI组件进行编码

语法:encodeURIComponent(stringURI);

参数:stringURI--必需。一个字符串,含有URI或者其他编码的文本;

返回值:已编译的stringURI副本;

(2)decodeURIComponent()解码函数

功能:对encodeURIComponent()函数编码的字符串解码;

语法:decodeURIComponent(stringURI);

参数:stringURI--必需。含有解码的URI或者其他要解码的文本;

返回值:已解码的stringURI副本;

(1)(2)示例:

四、转换方法

1.转为大写toUpperCase()和toLocaleUpperCase()函数

功能:把小写字符串转为大写;

语法:stringvar.toUpperCase(),stringvar.toLocaleUpperCase();

返回值:字符串,其中所有小写字符都被转换为大写字符;

示例:

2.转为小写toLowerCase()和toLocaleLowerCase()函数

功能:把大写字符串转为小写;

语法:stringvar.toLowerCase(),stringvar.toLocaleLowerCase();

返回值:字符串,其中所有大写字符都被转换为小写字符;

示例:

时间: 2024-08-16 14:04:55

JavaScript 字符串处理详解的相关文章

代码示例:一些简单技巧优化JavaScript编译器工作详解,让你写出高性能运行的更快JavaScript代码

告诉你一些简单的技巧来优化JavaScript编译器工作,从而让你的JavaScript代码运行的更快.尤其是在你游戏中发现帧率下降或是当垃圾回收器有大量的工作要完成的时候. 单一同态: 当你定义了一个两个参数的函数,编译器会接受你的定义,如果函数参数的类型.个数或者返回值的类型改变编译器的工作会变得艰难.通常情况下,单一同态的数据结构和个数相同的参数会让你的程序会更好的工作. function example(a, b) { // 期望a,b都为数值类型 console.log(++a * +

Javascript 严格模式详解

Javascript 严格模式详解 作者: 阮一峰 日期: 2013年1月14日 一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. 设立"严格模式"的目的,主要有以下几个: - 消除Javascript语法的一些不合理.不严谨之处,减少一些怪异行为; - 消除代码运行的一些不安全之处,保证代码运行的安全: - 提高编译器效率,增加运行速度

使用JS截取字符串函数详解

使用JS截取字符串函数详解 JS截取字符串函数:一.函数:split();二.函数:John();三.函 数:indexOf();四.其他几种方 法:stringObject.substring(start,stop);stringObject.substr(start [, length ])... 一.函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=”jpg|bmp|gif|ico|png”; arr=theString.split(”|”); /

JavaScript对象类型详解

JavaScript对象类型详解 JavaScrtip有六种数据类型,一种复杂的数据类型(引用类型),即Object对象类型,还有五种简单的数据类型(原始类型):Number.String.Boolean.Undefined和Null.其中,最核心的类型就是对象类型了.同时要注意,简单类型都是不可变的,而对象类型是可变的. 什么是对象 一个对象是一组简单数据类型(有时是引用数据类型)的无序列表,被存储为一系列的名-值对(name-value pairs).这个列表中的每一项被称为 属性(如果是函

JavaScript数组方法详解

JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中原型上的方法,本文举例介绍了从ES3到ES7几乎所有的数组方法.这大概是最全的数组方法详解了.希望读者能从中有所收获. 一.各版本数组方法一览表 数组方法名 对应版本 功能 原数组是否改变 pop() ES3- 删除最后一位,并返回删除的数据 是 push() ES3- 在最后一位新增一或多个数据,

Python 字符串方法详解

Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. 在编程中,几乎90% 以上的代码都是关于整数或字符串操作,所以与整数一样,Python 的字符串实现也使用了许多拿优化技术,使得字符串的性能达到极致.与 C++ 标准库(STL)中的 std::string 不同,python 字符串集合了许多字符串相关的算法,以方法成员的方式提供接口,使用起来非常方便. 字符

我看朴灵评注阮一峰的《JavaScript 运行机制详解:再谈Event Loop》

阮一峰和朴灵对我来说都是大牛,他们俩的书我都买过,阮老师的译作<软件随想录>和朴灵的<深入浅出node.js>.这个事情已经过了4个月了,所以我拿来讲应该也没啥问题. 这件事情是这样的,阮一峰在自己的博客写了篇文章<JavaScript 运行机制详解:再谈Event Loop>,然后朴灵看见了,发现了很多问题,然后在印象笔记又写了篇文章<[朴灵评注]JavaScript 运行机制详解:再谈Event Loop>,由于印象笔记现在已经不能访问了(尼玛也太烂了)

JavaScript 运行机制详解

JavaScript 运行机制详解——转载: 一.为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. JavaScript的单线程,与它的用途有关.作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM.这决定了它只能是单线程,否则会带来很复杂的同步问题.比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另

php 字符串函数详解

函数 描述 PHP addcslashes() 在指定的字符前添加反斜杠. 4 addslashes() 在指定的预定义字符前添加反斜杠. 3 bin2hex() 把 ASCII 字符的字符串转换为十六进制值. 3 chop() rtrim() 的别名. 3 chr() 从指定的 ASCII 值返回字符. 3 chunk_split() 把字符串分割为一连串更小的部分. 3 convert_cyr_string() 把字符由一种 Cyrillic 字符转换成另一种. 3 convert_uude