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 替换的字符串。
newSubStr (replacement)
 用于替换掉第一个参数在原字符串中的匹配部分的 String。该字符串中可以内插一些特殊的变量名。参考下面的使用字符串作为参数
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 字符串函数 之查找字符方法(一)的更多相关文章

  1. javascript 字符串进行 utf8 编码的方法(转)

    实践中碰到了一个大问题,在 javascript 中,可能有一些中文字符串,我们想将其进行二进制流编码的时候,需要将其转换为 utf8 的编码. 也就是说,输入的是一个字符串:'呆滞的慢板今天挣了10 ...

  2. [转]JavaScript字符串函数大全

    JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...

  3. Oracle截取字符串函数和查找字符串函数,连接运算符||

    参考资料:Oracle截取字符串和查找字符串 oracle自定义函数学习和连接运算符(||) oracle 截取字符(substr),检索字符位置(instr) case when then else ...

  4. javascript字符串函数

    substring() 从字符串中提取一些字符 <script type="text/javascript"> var str="Hello world!&q ...

  5. JavaScript字符串、数组、对象方法总结

    字符串方法 示例字符串: const str = "hello,kitty,hello,vue "; 一.基本方法 charAt(n) 返回指定索引的字符 charCodeAt(n ...

  6. JavaScript所有函数和内置方法

    Number isFiniter() 检测传入的的数值是否在无穷大和无穷小之间(有限数字或者是可转换成有限数字)返回true,否则返回false.NaN返回false. isFinite(Number ...

  7. JavaScript字符串函数大全

    JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...

  8. javascript 字符串函数

    字符串的截取 str.substring(0,index) 字符串转换为日期 <script> var s = "2017-04-10"; var d = s.repl ...

  9. javascript 字符串加密的几种方法

    8进制 /*8进制加密*/ function EnEight(){ var monyer = new Array();var i,s; for(i=0;i<txt.value.length;i+ ...

随机推荐

  1. R语言编程艺术# 矩阵(matrix)和数组(array)

    矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数.所以矩阵也是和向量一样,有模式(数据类型)的概念.(但反过来,向量却不能看作是只有一列或一行的矩阵. 数组(array)是R里更一 ...

  2. OD: GS Bypasing via SEH / .data

    通过 SEH 绕过 GS 保护 GS 机制没对 SEH 提供保护,所以可心通过攻击异常来绕过 GS. 实验环境为: VMware : Windows sp4, 此版本无 SafeSEH 的影响 Vis ...

  3. HTML1.0 - html 环境搭建 开发工具

    1. mac  电脑 2. Hbuilder 开发软件 3. 学习基础 HTML 语法 网站  http://www.w3school.com.cn

  4. 移动端(IOS)iframe监听不到 onscroll 事件

    问题描述: 我在一个页面A中有瀑布流,点击瀑布流中的图片需要进入到另外一个页面B,点击返回需要回到页面A中点击的位置,为了实现该效果所以在页面A中嵌入iframe,iframe指向页面B,页面B中同样 ...

  5. mybatis的简单使用

    使用mybatis数据库时,需要添加一下jar包: asm-3.3.1.jarcglib-2.2.2.jarjavassist-3.17.1-GA.jarlog4j-1.2.17.jarmybatis ...

  6. 【socket.io研究】2.小试牛刀

    1.建立个项目,也就是文件夹,这里使用testsocket 2.创建文件package.json,用于描述项目: { "name":"testsocket", ...

  7. Android WifiDirect 学习(三) 一些基础知识和问题

    P2P架构介绍 P2P架构中定义了三个组件,一个设备,两种角色.这三个组件分别是: P2P Device:它是P2P架构中角色的实体,读者可把它当做一个Wi-Fi设备. P2P Group Owner ...

  8. nagios配置

    接近两个星期的奋战,nagios的安装搭建以及监控服务自动报警功能终于基本得以实现,现在自己整理一份安装技术手册,方便自己以后查阅和回顾. 接近两个星期的奋战,nagios的安装搭建以及监控服务自动报 ...

  9. 近期Responsive web design项目经验分享

    关于meta   <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, user ...

  10. EC2.0开启多规格后,编辑无法获取规格数据

    我们其实一共碰到2个问题, 1. 一个是弹出了货品编辑画面,但是货品的明细没有2.有货品明细但是货品明细各个字段都是空的, 上面2种情况数据库都是有值的. 第一个问题解决方案: 修改html中的JS ...