JavaScript:查找/匹配

一、string中提供的

charAt()    返回在指定位置的字符。

示例:‘abc‘.charAt(1);    //"b"

charCodeAt()    返回在指定的位置的字符的 Unicode 编码。

示例:‘abc‘.charCodeAt(1);    //98

indexOf(searchvalue,fromindex)    检索字符串,返回对应下标。

示例:‘abcabc‘.indexOf(‘b‘,0);    //1

‘abcabc‘.indexOf(‘b‘,2);    //4

search(regexp)    检索与正则表达式相匹配的值,返回对应下标。

示例:‘abcabc‘.search(‘b‘);        //1

‘abcabc‘.search(/b/img);    //1

match(regexp)    找到一个或多个正则表达式的匹配,没有返回null,否则返回数组

示例:‘abcabc‘.match(‘b‘);        //["b"]

‘abcabc‘.match(/b/img);    //["b", "b"]

PS:上述regexp,可以是子串、也可以是正则。

二、RegExp

直接量语法:/pattern/attributes

创建RegExp对象的语法:new RegExp(pattern, attributes);

RegExpObject.lastIndex  用于规定下次匹配的起始位置。

attributes:

i    执行对大小写不敏感的匹配。

g    执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m    执行多行匹配。

(1)RegExpObject.exec(string) 返回一个数组,其中存放匹配的结果;检索不到返回null。

示例1:

/c/img.exec('abcdefgc');  //['c']
new RegExp("c","img").exec('abcdedgc'); //['c']
/c/img.exec('a');  //null

示例2:

var reg = new RegExp("c","im");
reg.exec("abcabc");    //["c"]
reg.lastIndex;    //0

var reg = new RegExp("c","img");
reg.exec("abcabc");    //["c"]
reg.lastIndex;    //0

typeof reg;    //"object"
Object.prototype.toString.call(reg);    //"[object RegExp]"

(2)test 检索字符串中指定的值。返回 true 或 false。

示例:

/c/img.test('abcdefgc');  //true

new RegExp("c","img").test('abcdedgc'); //true

时间: 2024-11-05 17:33:10

JavaScript:查找/匹配的相关文章

常用的JavaScript正则匹配规则代码收藏,很实用

收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水平菜,老是自己写不出,看了这个文档,觉得心里踏实很多,用到正则匹配的时候,看下这个,相信为让你省不少时间.注:本正则不仅限于在JS中使用,其它语言也可以借鉴. 匹配特定数字: ^[1-9]\d*$ //匹配正整数 ^-[1-9]\d*$ //匹配负整数 ^-?[1-9]\d*$ //匹配整数 ^[1-9]\d*|0$

javascript 正则匹配 提取全部 preg_match_all matchAll方法

javascript 提取所有的的方法,javascript中没有matchAll这个方法. 用while来实现类似 PHP 中的preg_match_all() :(by default7#zbphp.com) <!DOCTYPE html> <html> <head> <title></title> </head> <body> <select name="AgentIdP" id="

JavaScript 查找元素

JavaScript 查找元素 查询单个元素document.getElementById 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 <!DOCTYPE html> <html>     <head>         <title>访问元素</title>         <meta charset="UTF-8"

JavaScript查找数组是否存在指定元素

利用JavaScript的函数有两种方式 1.jQuery jQuery.inArray( value, array [, fromIndex ] ) value 类型: Anything 要查找的值. array 类型: Array 一个数组,通过它来查找. fromIndex 类型: Number 数组索引值,表示从哪里在开始查找.默认值是0,这将查找整个数组. $.inArray()方法类似于JavaScript的原生.indexOf()方法,没有找到匹配元素时它返回-1.如果数组第一个元

C++ string 字符串查找匹配

在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法.而对于C++的string,我们往往会用到find(). C++:#inlcude<string>C: #include<string.h> find():在一个字符串中查找一个指定的单个字符或字符数组.如果找到,就返回首次匹配的开始位置:如果没有查找到匹配的内容,就返回string::npos.find_first_of():在一个目标串中进

Excel开发学习笔记:文件选择控件、查找匹配项、单元格格式及数据有效性

遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. 开发环境基于VSTO,具体配置:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. Private OpenFileDialog1 As New OpenFileDialog  Private Sub test()      OpenFileDialog1.Filter 

我也谈javascript正则匹配

一.javascript 正则全局匹配 g 慎用test()方法 来个例子: var a = /^[a-z]+/gi; a.test('bb123'); //true a.lastIndex ; // 0 a.test('bb123') // false a.lastIndex ; // 2 a.test('bb123'); // true 为什么会出现这种一会正确,一会又错误的情况呢?这个就是应为 全局匹配 g 作用所影响的了..嘿嘿 因为多次调用test方法时会从上一次匹配的位置开始匹配,可

JavaScript查找Html字符串中的img标签替换src属性的内容

JavaScript示例代码如下: var newContent= content.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi,function(match,capture){ //capture,返回每个匹配的字符串 var newStr='<img src="http://www.csghj.gov.cn'+capture+'" alt="" />'; retu

javascript正则匹配(转)

区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$" 手机(中国移动手机号码):regexp="^((\(\d{3}\))|(\d{3}\-))?13[456789]\d{8}|15[89]\d{8}" 所有手机号码:regexp="^((\(\d{3}\))|(\d{3}\-))?13[0-9]\d{8}|15[89]\d{8}"(新添加了158,15