正则表达式里的东东,
MS的Jscript和Vbscript 参考:
http://www.microsoft.com/downloads/release.asp?ReleaseID=33136
里有详细的介绍

解决方案 »

  1.   

    function String.prototype.Trim() {return this.replace(/(^\s*)|(\s*$)/g,"");}
    去除value值的前后空格.
      

  2.   

    去掉字符串前后的空格
    <input id=a1 value="   123  ">
    <input type=button value=Trim onclick="a1.value=a1.value.replace(/^\s+|\s+$/g,'')">\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
      

  3.   

    meizz(梅花雨),bencalie(Bencalie):
      /(^\s*)中,"/"是什么意思?"^"是什么意思?
      (\s*$)中,"$"是什么意思?
      /g是什么意思?
      "replace(/^\s+|\s+$/g,'')"和"replace(/(^\s*)|(\s*$)/g,"")",怎么这里的"+"和"*"是一样的吗?
      

  4.   

    不一样啊~!~*是匹配一个串比如
    bo*
    就可能匹配
    bon
    bok
    bork
    ………………
      

  5.   

    正则表达式的语法表
    --------------------------------------------------------------【描述】
        用特殊字符和序列,来为正则表达式书写模式。下面的表描述了这些字符,并包括了简短的例子,来说明如何使用这些字符。 
    ________________________________________________________________
    字符  |                     描述 
    ----------------------------------------------------------------
    \     |  标记下一个字符是特殊字符或文字。例如,"n" 和字符 "n" 匹配。
          |  "\n" 则和换行字符匹配。序列 "\\" 和 "\" 匹配,而 "\(" 则
          |  和 "(" 匹配。 
    ----------------------------------------------------------------
    ^     |  匹配输入的开头。 
    ----------------------------------------------------------------
    $     |  匹配输入的末尾。 
    ----------------------------------------------------------------
    *     |  匹配前一个字符零或多次。例如,"zo*" 与 "z" 或 "zoo" 匹配。 
    ----------------------------------------------------------------
    +     |  匹配前一个字符一次或多次。例如,"zo+" 与 "zoo" 匹配,但和 "z" 
          |  不匹配。  
    ----------------------------------------------------------------
    ?     |  匹配前一个字符零或一次。例如,"a?ve?" 和 "never" 中的 "ve" 匹
          |  配。  
    -----------------------------------------------------------------
    .     | 匹配除换行字符外的任何单个字符。  
    -----------------------------------------------------------------
    (pat- |  匹配 pattern 并记住该匹配。匹配上的子字符串,可以使用 Item 
    tern) |  [0]...[n],来从生成的 Matches 集合中取回。要匹配圆括号字
          |  符 ( ),则需使用 "\(" 或 "\)"。 
    -----------------------------------------------------------------
    x|y   |  匹配 x 或 y。例如,"z|food" 和 "z" 或 "food" 匹配。"(z|f)
          |  ood" 匹配 "zoo" 或 "food"。  
    -----------------------------------------------------------------
    {n}   | n 是非负整数。共匹配 n 次。例如,"o{2}" 和 "Bob" 中的 "o" 不匹
          | 配,但和 "foooood" 中的前两个 o 匹配。 
    -----------------------------------------------------------------
    {n,}  | n 是一个非负整数。至少匹配 n 次。例如,"o{2,}" 和 "Bob" 中
          |  的 "o" 不匹配,但和 "foooood" 中的所有 o 匹配。"o{1,}" 
          | 与 "o+" 等效。"o{0,}" 和 "o*" 等效。 
    -----------------------------------------------------------------
    {n,m} | m 和 n 是非负整数。至少匹配 n 次而至多匹配 m 次。例如,"o
          |  {1,3}" 和 "fooooood" 中的前三个 o 匹配。"o{0,1}" 和 "o?" 等
          | 效。 
    -----------------------------------------------------------------
    [xyz] | 字符集合。匹配括号内的任一字符。例如,"[abc]" 和 "plain" 中
          | 的 "a" 匹配。 
    -----------------------------------------------------------------
    [^xyz]| 否定字符集合。匹配非括号内的任何字符。例如,"[^abc]" 
          |  和 "plain" 中的 "p" 匹配。  
    -----------------------------------------------------------------
    [a-z] | 字符范围。和指定范围内的任一字符匹配。例如,"[a-z]" 匹配 "a" 
          | 到 "z"范围内的任一小写的字母表字符。  
    -----------------------------------------------------------------
    [^m-z]| 否定字符范围。匹配不在指定范围内的任何字符。例如,"[m-z]" 匹配不
          | 在 "m" 到 "z"范围内的任何字符。  
    -----------------------------------------------------------------
    \b    | 匹配字的边界,也就是说,在字和空格之间的位置。例如,"er\b" 
          | 和 "never" 中的 "er" 匹配,但和 "verb" 中的 "er" 不匹配。  
    -----------------------------------------------------------------
    \B    | 匹配非字边界。"ea*r\B" 和 "never early" 中的 "ear" 匹配。  
    -----------------------------------------------------------------
    \d    | 匹配数字字符。等价于 [0-9]。  
    -----------------------------------------------------------------
    \D    | 匹配非数字字符。等价于 [^0-9]。  
    -----------------------------------------------------------------
    \f    | 匹配换页字符。  
    -----------------------------------------------------------------
    \n    | 匹配换行字符。  
    -----------------------------------------------------------------
    \r    | 匹配回车符字符。  
    -----------------------------------------------------------------
    \s    |匹配任何空白,包括空格、制表、换页等。与 "[ \f\n\r\t\v]" 等效。 
    -----------------------------------------------------------------
    \S    | 匹配任何非空白字符。与 "[^ \f\n\r\t\v]" 等效。  
    -----------------------------------------------------------------
    \t    | 匹配制表字符。  
    -----------------------------------------------------------------
    \v    | 匹配垂直制表符。  
    -----------------------------------------------------------------
    \w    | 匹配包括下划线在内的任何字字符。与 "[A-Za-z0-9_]" 等效。  
    -----------------------------------------------------------------
    \W    | 匹配任何非字字符。与 "[^A-Za-z0-9_]" 等效。  
    -----------------------------------------------------------------
    \num  | 匹配 num,其中 num 是一个正整数。返回记住的匹配的引用。例
          | 如,"(.)\1" 匹配两个连续的同一字符。  
    -----------------------------------------------------------------
    \n    | 匹配 n,其中 n 是八进制换码值。八进制换码值必须是 1、2、或 3 位
          | 长。例如,"\11" 和 "\011" 都匹配制表字符。"\0011" 和 "\001" 
          | & "1" 是等效的。八进制换码值必须不超过 256。如果超过了,则只有
          | 前两位组成表达式。允许在正则表达式中使用 ASCII 码。 
    -----------------------------------------------------------------
    \xn   | 匹配 n,其中 n 是十六进制换码值。十六进制换码值必须正好是两位
          | 长。例如,"\x41" 与 "A" 匹配。"\x041" 和 "\x04" & "1" 是等效
          | 的。允许在正则表达式中使用 ASCII 码。 
    -----------------------------------------------------------------
      

  6.   

    to liudong963(东仔) 
    可以解释一下"/g"是何意思吗?
      

  7.   

    i,g,gi在正则表达式对象的使用中,他们分别是指表达式中的参数,请看下面整理出来的正则表达式对象说明:
    ===================================================================
    正则表达式对象作用:
      保存正则表达式模式。语法 1:
       var regularexpression = /pattern/[switch]语法 2
       var regularexpression = new RegExp("pattern",["switch"]) ===================================================================正则表达式对象语法参数有以下部分: 
    ___________________________________________________________________
    参数部分   |  描述 
    -------------------------------------------------------------------
    pattern    | 必需的。要使用的正则表达式模式,例如使用替换方法replace
               | 时,就是要替换的文本。如果使用语法 1,用 "/" 字符分隔模
               | 式。如果用语法 2,用引号将模式引起来。 
    -------------------------------------------------------------------
    switch     | 可选项。如果使用语法 2 要用引号将 switch 引起来。可选的开
               | 关选项有:
               |   i (忽略大小写)
               |   g (全文查找出现的所有 pattern)
               |   gi (全文查找、忽略大小写)
    -------------------------------------------------------------------说明:
       正则表达式对象保存用于查找字符串中的字符组合时的模式。创建正则表达式对象后,或者它被传递给字符串方法,或者字符串被传递给一个正则表达式方法。有关最近进行查找的信息被保存在 RegExp 对象中。
       当预先知道查找字符串时用语法 1。当查找字符串经常变动或不知道时用语法 2,比如由用户输入得到的字符串。
     
       在使用前 pattern 参数被编译为内部格式。对语法 1 来说,pattern 在该脚本被装载时被编译。对语法 2 来说,pattern 在使用前,或调用 compile 方法时被编译。 
    下面的示例演示了 replace 方法结合的正则表达式对象对文本进行替换的用法:function ReplaceDemo()
    {
      var r, re;
      var s = "Fox fox ffffffFOX foxfoxfox fofofofOX";
      
      //使用正则表达式对象re来保存替换模式  re = /fox/; //区分大小写的替换s中的fox字母,且只替换一次
      r = s.replace(re, "pig");
      //r= "Fox pig ffffffFOX foxfoxfox fofofofOX";
      alert("区分大小写的替换s中的fox字母,且只替换一次\n\n"+r);  re = /fox/i; //不分大小写的替换s中的fox字母,且只替换一次
      r = s.replace(re, "pig");
      //r= "pig fox ffffffFOX foxfoxfox fofofofOX";
      alert("不分大小写的替换s中的fox字母,且只替换一次\n\n"+r);  re = /fox/g; //区分大小写的全部替换s中的fox字母
      r = s.replace(re, "pig");
      //r= "Fox pig ffffffFOX pigpigpig fofofofOX";
      alert("区分大小写的全部替换s中的fox字母\n\n"+r);  re = /fox/ig; //不分大小写的全部替换s中的fox字母
      r = s.replace(re, "pig");
      //r= "pig pig ffffffpig pigpigpig fofofopig";
      alert("不分大小写的全部替换s中的fox字母\n\n"+r);  re = /fox/gi; //不分大小写的全部替换s中的fox字母,以使用ig等效
      r = s.replace(re, "pig");
      //r= "pig pig ffffffpig pigpigpig fofofopig";
      alert("不分大小写的全部替换s中的fox字母,以使用ig等效\n\n"+r);
    }另外, replace 方法也可以替换模式中的子表达式。下面的范例演示了交换字符串中的每一对单词: 
    function ReplaceDemo()
    {
      var r, re;
      var s = "The quick brown fox jumped over the lazy yellow dog.";
      re = /(\S+)(\s+)(\S+)/g;
      r = s.replace(re, "$3$2$1"); //交换每一对单词。
      alert("交换每一对单词\n\n"+r);
    }