javascript 正则表达式定义方法详解

javascript中使用正则表达式有两种方式。第一种是构建一个RegExp对象;第二种是使用”//”来定义,也即perl风格。例如:

 代码如下 复制代码

var str = 'http://www.111cn.net/';

var reg = new RegExp('http', 'i');
alert(reg.test(str));

alert(/http/.test(str));

上述例子就是使用两种方式判断字符串str中是否包含http,注意第二种方式 // 一定不能使用引号。

第一种方式生成对象是参数为字符串,所以可以动态(字符串拼接)的设定正则表达式的内容,第二种则不行。我们知道,正则表达式中有很多特殊字符,例如.,*,?等等,如果表达式中就是需要匹配这些特殊字符,那么就需要使用转义符 “”。特别要注意的是第一种处理转义符时候,需要使用两个“”。例如:

 代码如下 复制代码

var str = 'http://www.111cn.net/';

var reg = new RegExp('www\.', 'i');   //此处使用了两个
alert(reg.test(str));

alert(/www./.test(str));

那为什么要使用 \ 来转义呢?因为第一种方式“编译”后还是会变为第二种方式。例如alert(new RegExp(‘www\.’, ‘i’)) 结果是 /www./i 。

时间: 2024-10-24 23:32:28

javascript 正则表达式定义方法详解的相关文章

C++中可以接受任意多个参数的函数定义方法(详解)_C 语言

能够接受任意多个参数的函数,可以利用重载来实现.这种函数的执行过程类似于递归调用,所以必须要有递归终止条件. #include <iostream> #include <bitset> void print() {} // 递归终止条件.这是必需的. template<typename Type, typename... Types> void print(const Type& arg, const Types&... args) { std::cou

javaScript数组迭代方法详解_javascript技巧

本文为大家介绍了javaScript数组迭代方法,供大家参考,具体内容如下 每个方法都接收两个参数:要在每一项上运行的函数  和  (可选的)运行该函数的作用域对象. 传入这些方法中的函数会接收三个参数:数组项的值,该项在数组中的位置,数组对象本身. forEach()  对数组中的每一项运行 给定函数.该方法没有返回值.every()  对数组中的每一项运行 给定函数,如果数组的每一项都返回true,则返回true.some()  对数组中的每一项运行 给定函数,如果数组的任意一项返回true

JavaScript中借用方法详解

通过call().apply()和bind()方法,我们可轻易地借用其它对象的方法,而无须从这些对象中继承它. 在JavaScript中借用方法 在JavaScript中,有时可以重用其它对象的函数或方法,而不一定非得是对象本身或原型上定义的.通过 call().apply() 和 bind() 方法,我们可轻易地借用其它对象的方法,而无须继承这些对象.这是专业 JavaScript 开发者常用的手段. 前提 本文假设你已经掌握使用 call().apply() 和 bind() 的相关知识和它

js中string之正则表达式replace方法详解

replace方法是javascript涉及到正则表达式中较为复杂的一个方法,严格上说应该是string对象的方法.只不过牵扯到正则的时候比较多一些.需要我们灵活的使用. 语法: stringObj.replace(regexp/substr,replacement): 第一个参数:必需.字符串中要替换的子串或正则RexExp: 第二个参数:必需,一个字符串值,规定了替换文本或生成替换文本的函数. 返回值:注意它的返回值是一个新的字符串,并没有更改原有字符串,是用 replacement 替换了

JavaScript闭包使用方法详解

闭包就是一种在函数内访问和操作外部变量的方式,一般情况下,我们会在函数外部定义一些变量以供函数内部使用.  代码如下 复制代码 var a = 1; function fn( arg ){  var b =2;  function fnInner ( arg ){  console.log(a); //访问全局的变量  console.log(b); //访问外部函数体内的变量  console.log(arg); //访问函数自身的变量  }  fnInner(3); } fn函数的闭包引用了

Javascript解析URL方法详解_javascript技巧

URL : 统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成: scheme://host:port/path?query#fragment scheme  = 通信协议 (常用的http,ftp,maito等) host = 主机 (域名或IP) port = 端口号 path = 路径 query = 查询 可选,用于给动态网页(如使用CGI.ISAPI.PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数

javascript字符串连接方法详解(性能测试)

js的字符串连接有两种:用"+"连接:用array的join连接.  代码如下 复制代码 var a1=10; var a2=20; a3 = a1 + a2 //数字加数字 alert(typeof(a3)) //number alert("a1+a2="+a3) //a1+a2= 30 alert(typeof("a1+a2="+a3)) //字符串"a1+a2"加数字a3;得到的是字符串,输出string alert(&

javascript字符串拼接方法详解

字符串拼接在JS中是常遇到的,有时候遇到长字符串的拼接就会比较麻烦了.比如html字符串:  代码如下 复制代码 var str = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; var str = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; 编辑器的宽度有限,为了程度的可读性,必须对字符串

javascript类型系统_正则表达式RegExp类型详解_javascript技巧

前面的话 前面已经介绍过javascript中正则表达式的基础语法.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换.本文将介绍正则表达式的RegExp对象,以及正则表达式涉及 到的属性和方法 对象 javascript中的正则表达式用RegExp对象表示,有两种写法:一种是字面量写法:另一种是构造函数写法 Perl写法 正则表达式字面量写法,又叫Perl写法,因为javascript的正则表达式特性