JavaScript 字符串函数 之查找字符方法(一)
1.JavaScript查找字符方法

首先看一张 有关字符串函数的查找字符的方法图 接下里补充里面的方法说明
2.charAt()
charAt() 方法返回字符串中指定位置的字符
语法
str.charAt(index) index: 0 到字符串长度 -1 的一个整数。
字符串中的字符从左向右索引,第一个字符的索引值为 0,最后一个字符(假设该字符位于字符串 stringName 中)的索引值为 stringName.length - 1。 如果指定的 index 值超出了该范围,则返回一个空字符串。

3. charCodeAt()
charCodeAt() 方法返回0到65535之间的整数,代表索引处字符的 UTF-16编码单元(在Unicode编码单元表示一个单一的UTF-16编码单元的情况下,UTF-16编码单元匹配Unicode编码单元。否则, 比如Unicode 编码单元 > 0x10000 的情况下,只能匹配Unicode代理对的第一个编码单元)。如果你希望得到整点编码值,使用codePointAt()
语法
str.charCodeAt(index) index: 一个大于等于0 小于字符串长度的整数。如果不是一个数值 就默认为0;
如果指定的index 小于0 或者大于字符串的长度 charCodeAt()返回NaN。
4. 查找位置的方法

A): indexOf() 方法返回指定值在字符串对象中首次出现的位置。从fromIndex位置开始查找 如果不存在 则返回-1。
str.indexOf(searchValue[,fromIndex]);
searchValue 一个字符串表示被查找的值。
formIndex 可选 表示调用该方法的字符串中开始查找的位置 可以是任意整数 默认值是0。如果fromIndex < 0 则查找整个字符串(如同传进了0)
如果 formIndex >= str.length 则该方法返回-1 。除非被查找的字符串是一个空字符串 此时返回str.length。

indexOf区分大小写
'hello world'.indexOf('Hel'); //-1 返回-1
可以用来检测是否存在某字符串 (当检测某个字符串是否存在于另一个字符串中 可使用下面的方法)。
'hello world'.indexOf('hello') !== -1; //true
'hello world'.indexOf('helol') !== -1; //false
使用indexOf 统计一个字符串中某个字母出现的次数。
这是我自己封装的一个检测函数

4.lastIndexOf
lastIndexOf() 方法返回指定值在调用该方法的字符串中最后出现的位置 如果没有找到则返回-1; 从该字符串的后面向前查找 从formIndex处开始
lastIndexOf(serachValue [,formIndex])
searchValue- 一个字符串,表示被查找的值。
fromIndex- 从调用该方法字符串的此位置处开始查找。可以是任意整数。默认值为
str.length。如果为负值,则被看作 0。如果fromIndex > str.length,则fromIndex被看作str.length。 
- 同样的 可以使用lastIndexOf() 也可用来计算字符在字符串中出现的次数

5. 匹配方法 String.prototype.match()
当字符串匹配到正则表达式(regular experssion) match()方法会提取

6. replace()
replace() 方法使用一个替换值()替换掉一个匹配模式 在原字符串中某些或所有的匹配项 并返回替换后的新字符串 这个替换模式可以是一个字符串或一个RegExp
语法
str.replace(regexp|substr,newSubStr|function)
参数
regexp(pattern)- 一个
RegExp对象。该正则所匹配的内容会被第二个参数的返回值替换掉。
substr(pattern)- 一个要被
newSubStr替换的字符串。
function(replacement)- 一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。参考下面的指定一个函数作为参数。
返回值
一部分或全部匹配由替代模式所取代的新的字符串

7.split()
Split() 通过把字符串分割成子字符串来把一个String 对象分割成一个字符串数组
str.split([separator][,limit])
参数:
separator
指定用来分割字符串的字符 separator 可以是一个字符串或这则表达式 如果忽略separator 则返回这个字符串的数组形式 如果 separator 是一个空字符串,则 str 将会把原字符串中每个字符的数组形式返回。
limit- 一个整数,限定返回的分割片段数量。
split方法仍然分割每一个匹配的separator,但是返回的数组只会截取最多limit个元素。
split 方法返回一个数组。
当找到一个 seperator 时,separator 会从字符串中被移除,返回存进一个数组当中的子字符串。如果忽略 separator 参数,则返回的数组包含一个元素,该元素是原字符串。如果 separator 是一个空字符串,则 str 将被转换为由字符串中字符组成的一个数组。
如果 separator 是一个正则表达式,且包含捕获括号(capturing parentheses),则每次匹配到 separator 时,捕获括号匹配的结果将会插入到返回的数组中。然而,不是所有浏览器都支持该特性。
Note: 当字符串为空时 split返回一个包含一个空字符串的数组 而不是一个空数组

JavaScript 字符串函数 之查找字符方法(一)的更多相关文章
- javascript 字符串进行 utf8 编码的方法(转)
实践中碰到了一个大问题,在 javascript 中,可能有一些中文字符串,我们想将其进行二进制流编码的时候,需要将其转换为 utf8 的编码. 也就是说,输入的是一个字符串:'呆滞的慢板今天挣了10 ...
- [转]JavaScript字符串函数大全
JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...
- Oracle截取字符串函数和查找字符串函数,连接运算符||
参考资料:Oracle截取字符串和查找字符串 oracle自定义函数学习和连接运算符(||) oracle 截取字符(substr),检索字符位置(instr) case when then else ...
- javascript字符串函数
substring() 从字符串中提取一些字符 <script type="text/javascript"> var str="Hello world!&q ...
- JavaScript字符串、数组、对象方法总结
字符串方法 示例字符串: const str = "hello,kitty,hello,vue "; 一.基本方法 charAt(n) 返回指定索引的字符 charCodeAt(n ...
- JavaScript所有函数和内置方法
Number isFiniter() 检测传入的的数值是否在无穷大和无穷小之间(有限数字或者是可转换成有限数字)返回true,否则返回false.NaN返回false. isFinite(Number ...
- JavaScript字符串函数大全
JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...
- javascript 字符串函数
字符串的截取 str.substring(0,index) 字符串转换为日期 <script> var s = "2017-04-10"; var d = s.repl ...
- javascript 字符串加密的几种方法
8进制 /*8进制加密*/ function EnEight(){ var monyer = new Array();var i,s; for(i=0;i<txt.value.length;i+ ...
随机推荐
- OpenSuse如何共享目录
如何在SUSE Linux 建立共享文件夹 1./etc/samba/smb.conf 打开配置文档 2.在文档的最后加上共享的文档夹/opt,下面是示例. nte143:/etc/samba # v ...
- 网页调用QQ聊天
把下面的复制到地址栏里,QQ号为你要聊天的人的qq号,如果你没有登录你自己的qq,首先会调出qq登录窗体. tencent://message/?uin=QQ号
- c - 输出 101 至 200之间的素数.
#include <stdio.h> #include <math.h> //判断 101-200 之间有多少个素数,并输出所有素数. int main(void) { , e ...
- ORACLE基本SQL语句-用户及建表篇
一.用户相关SQL语句 /*新建用户*/create user ; 说明:SA用户名,2013密码 /*授权connect,resource给用户sa*/grant connect,resource ...
- 读书笔记_Effective_C++_条款二十四: 若所有参数皆需类型转换,请为此采用non-member函数
class A { private: int a; public: A(int x) :a(x){} A operator*(const A& x) { return A(a*x.a); } ...
- ORACLE主要的系统表和系统视图
ORACLE主要的系统表和系统视图 1.系统表 ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYS进行查询.几个重要的表或者视图如下: v$controlfile:控制 ...
- SQL如何查询两个表的数据
在进行查询操作时,我们通常需要查询两个关联表的数据,我们可以使用where语句进行查询,如: select Emp.E_Id,Company.C_OraName from Emp,Company wh ...
- ARM的两种启动方式 (NAND FLASH. NOR FLASH)
为什么会有两种启动方式? 这就是有两种FLASH 的不同特点决定的. NAND FLASH 容量大,存储的单位比特数据的成本要低很多,但是要按照特定的时序对NAND FLASH 进行读写,因此CP ...
- 用linux mail命令发送邮件[Linux]
mail [-s 邮件标题] <<邮件地址1> [邮件地址2] [邮件地址3]> [ < 包含邮件内容的文件路径 ] <-- -f 发送邮件地址> [-F 显 ...
- 官方recovery签名验证的破解教程
下面讲如何破解官方recovery签名验证(这个方法应该是通用的,其他手机可以参考,recovery签名验证破解了,也不用费力编译第三方recovery) 1.从官方ROM里提取recovery.im ...