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+ ...
随机推荐
- .NET基础拾遗(7)多线程开发基础4
一.多线程编程中的线程同步 1.C#中的lock关键字 lock关键字可能是我们在遇到线程同步的需求时最常用的方式,但lock只是一个语法糖,为什么这么说呢,下面慢慢道来. (1)lock的等效代码其 ...
- log4net根据日志类型写入到不同的文件中
<?xml version="1.0"?> <configuration> <configSections> <!--log4net配置安 ...
- (搬运工)推荐!国外程序员整理的 C++ 资源大全
标准库 C++标准库,包括了STL容器,算法和函数等. C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分. Standard Tem ...
- float和double数据类型的声明,转换和计算
声明时,只要有小数部分float必须加F/f,而double却不用 //float的声明只要有小数部分就要加F,不然会报不能隐式的将double类型转换为float类型. float f1 = 1;/ ...
- Python学习笔记整理(三)Python中的动态类型简介
Python中只有一个赋值模型 一.缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明.这意味着没有必要事声明变量.只要记住,这个概念实质上对变量,对象和它们之 ...
- Robot Framework自动化测试环境的搭建
1.python-2.7.6.amd64.1394777203.msi 2.setuptools-28.0.0 3.pip-8.1.1 4.robotframework-2.8.7.win-amd64 ...
- jquery easyui二次开发总结(二)
1.easyui tab增加“关闭所有页”.“关闭非当前页”功能. //tab增加“关闭所有页”和“关闭非当前页”的功能 $("#tabs").tabs({ onAdd:funct ...
- Codeforces 573B Bear and Blocks
http://codeforces.com/problemset/problem/573/B 题目大意: 给出n个连续塔,每个塔有高度hi,每次取走最外层的块,问需要多少次操作能够拿光所有的块. 思 ...
- Windows脚本 - %~dp0的含义
含义是:更改当前目录为批处理本身的目录,有些晕吧?不急,我举例 比如你有个批处理a.bat在D:\qq文件夹下 a.bat内容为 cd /d %~dp0 在这里,cd /d %~dp0的意思就是cd ...
- Thread的run()与start()的区别
Java的线程是通过java.lang.Thread类来实现的.VM启动时会有一个由主方法所定义的线程.可以通过创建Thread的实例来创建新的线程.每个线程都是通过某个特定Thread对象所对应的方 ...