javascript RegExp 使用说明_基础知识

一:正则表达式的创建方式  
 1.文字格式,使用方法如下: 
 /pattern/flags(即:/模式/标记) 
 2.RegExp构造函数,使用方法如下: 
 new RegExp("pattern"[,"flags"])(即:new RegExp("模式"[,"标记"])) 
  
 参数: 
 pattern(模式):表示正则表达式的文本 
 flags(标记):如果指定此项,flags可以是下面之一: 
  
 g:global match(全定匹配) 
 i:ignore case(忽略大小写) 
 gi:both global match and ignore case(匹配所有可能的值,也忽略大小写) 
 注意:文字格式中的参数不要使用引号标记,二够造器函数的参数则要使用引号标记。所以下面的表达式 
 是等价的: 
 /ab+c/i     ====================  new RegExp("ab+c","i") 
  
 描述: 
 当使用构造器函数创建正则表达式的时候,必须使用正常的字符串避开规则(在字符串中加入前导字符\)是必须的。 
 例如,下面的两条语句是等价的:  
 re=new RegExp("\\w+"); 
 re=/\w+/ 

注意:RegExp预置了$属性
$1, ..., $9属性
用圆括号括着的匹配子串,如果有的话。
是RegExp的属性
静态,只读
在JavaScript 1.2, NES 3.0以上版本提供
描述:因为input是静态属性,不是个别正则表达式对象的属性。你可以使用RegExp.input 访问该
属性。
能加上圆括号的子串的数量不受限制,但正则表达式对象只能保留最后9 条。如果你要访问所有的
圆括号内的匹配字串,你可以使用返回的数组。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <SCRIPT LANGUAGE="JavaScript1.2">
  var regexp = new RegExp("(\\w+)\\s(\\w+)");
 str = "John Smith";
 newstr=str.replace(regexp,"$2");
 newstr2=str.replace(regexp,"$1");
 document.write("原字符串:"+str+"<br/>");
 document.write(newstr+"<br/>");
 document.write(newstr2+"<br/>");
 document.write('$1='+RegExp.$1+"  $2="+RegExp.$2);
 </SCRIPT>
 </HEAD>
 <BODY>
 </BODY>
 </HTML> 

二: match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。它返回指定的值,而不是字符串的位置。

语法
stringObject.match(searchvalue)
stringObject.match(regexp)参数 描述
searchvalue 必需。规定要检索的字符串值。
regexp 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
返回值
存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
说明
match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。

如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。

match使用实例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <SCRIPT LANGUAGE="JavaScript1.2">
 var str="1 plus 2 equal 3";
 var str2="11/23/55";
 var results=str.match(new RegExp("\\d+","gi"));
 for(var i=0;i<results.length;i++){
   document.write(results[i]+"<br/>");
 }
 var res=str2.match(new RegExp("(\\d\\d?)/(\\d\\d?)/(\\d\\d)"));
 if(str2.length == res[0].length){
   document.write(res[1]+"<br/>");
   document.write(res[2]+"<br/>");
   document.write(res[3]+"<br/>");
 }
 </SCRIPT>
 </HEAD>
 <BODY>
 </BODY>
 </HTML> 

 function dateCheck(value) {
   re = new RegExp("(\\d\\d?)/(\\d\\d?)/(\\d\\d)");
   var result = value.match (re);
   if (result){
     if (result[0].length != value.length){
       alert ("Wrong date format. The correct format should be MM/dd/yy.")
       return false;
     }else{
       var t = result[3];
       var y = parseInt("20" + t);
       var m = parseInt(result[1], 10) - 1;
       var day = parseInt(result[2], 10); 

       var d = new Date(y, m, day);
       if (d.getFullYear() != y || d.getMonth() != m || d.getDate() != day){
         alert ("error date!")
         return false;
       }else{
         var sm = result[1].length == 1?'0' + result[1]:result[1];
         var sday = result[2].length == 1?'0' + result[2]: result[2];
         var sy = result[3];
         else
           return sm + '/' + sday + '/' + sy;
       }
     }
   }else{
     alert ("Wrong date format. The correct format should be MM/dd/yy.");
     return false;
   }
 } 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索RegExp
javascript基础知识、javascript基础知识点、javascript regexp、javascript regexp g、javascript 基础教程,以便于您获取更多的相关知识。

时间: 2024-08-08 02:37:35

javascript RegExp 使用说明_基础知识的相关文章

javascript 函数使用说明_基础知识

什么是函数(Function) function sum(a,b){       return a+b;  }  其实通俗的说就是一个有名称的代码段,方便重用. 要注意的是: 1.Javascript 的函数语法,因为Javascript本身就是区分大小写的,所以function不能写作Function或FUNCTION. 2.sum是函数的名称,这个并不是必须的,等以后我们会说到. 3.return是返回,如果不写的话,函数的返回是undefined.如果要返回多个值,可以返回个数组或者对象(

介绍一个简单的JavaScript类框架_基础知识

 在写work-in-progress JavaScript book一书时,对于javascript继承体系,我花费了相当的时间,并在该过程中研究了各种不同的模拟经典类继承的方案.这些技术方案中,我最为推崇的是base2与Prototype的实现. 从这些方案中,应该能提炼出一个具有其思想内涵的框架,该框架须具有简单.可重用.易于理解并无依赖等特点,其中简单性与可用性是重点.以下是使用示例:   var Person = Class. extend ( { init: function (is

javascript indexOf函数使用说明_基础知识

使用方法:strObj.indexOf(str,startIndex[可选])  程序代码 其中strObj是必选项.String 对象或文字. str是必选项.要在 String 对象中查找的子字符串. startIndex是可选项.该整数值指出在 String 对象内开始查找的位置,从0开始.如果省略,则从字符串的开始处查找. 注意:对于JavaScript的indexOf是区分大小写的. JavaScript中indexOf函数方法返回一个整数值,指出 String 对象内子字符串的开始位

JavaScript 对话框和状态栏使用说明_基础知识

今天为大家简单介绍一下 JavaScript 对话框和状态栏. javascript 与 对话框: 三种对话框图示: 在客户端浏览器中,三种常见的Window方法用来弹出简单对话框,它们分别是 alert(),confirm()和prompt().alert()用于向用户显示消息.confirm()要求用户点击确认或取消.prompt()要求用户输入一个字符串.下面的三幅图分别为alert(),confirm()和prompt(). alert()对话框提示 confirm()对话框提示 pro

javascript的日期对象、数组对象、二维数组使用说明_基础知识

一.日期对象 格式 :   日期对象名称=new Date([日期参数]) 日期参数: 1.省略(最常用)                                      2.英文-参数格式:月 日,公元年[时:分秒]                                 如:today=new Date("October 1,2008 12:00:00");                           3.数值格式: 公元年,月,日,[时,分,秒]    

Javascript中的变量使用说明_基础知识

javascript中的所有变量都是类型松散的,不同于其他面向对象语音的变量声明都是强类型的.因此Javascript 的变量声明是不包括类型的.通过var关键字或者直接写变量名来声明一个变量,如: var v = 1; v=1; 这时有人可能会问,上述的两种声明有什么区别,为什 么会有这两种不同的声明方式,这就涉及到javascript中变量的作用域了.在javascript中,变量的作用域包括全局和函数级别的. 全局变量可以声明在函数体外,无论使用上述的哪种声明方式,在函数体外 声明的变量都

javascript instanceof 与typeof使用说明_基础知识

typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined.我们可以使用typeof来获取一个变量是否存在,如 if(typeof a != "undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性. 如果我们希望获取一个对象是否是数组,或判断某个变

javascript call方法使用说明_基础知识

先看一下官方的解释: call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项.将被用作当前对象的对象. arg1, arg2, , argN 可选项.将被传递方法参数序列. 说明 call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定

javascript flash下fromCharCode和charCodeAt方法使用说明_基础知识

fromCharCode 方法 从一些 Unicode 字符值中返回一个字符串. String.fromCharCode([code1[, code2[, ...[, codeN]]]]) 参数 String 必选项.为 String 对象. code1, . . . , codeN 可选项.是要转换为字符串的 Unicode 字符值序列.如果没有给出参数,结果为空字符串. 说明 在调用 fromCharCode 前不必创建 String 对象. 在下面的例子中,test 包含字符串 "plai