/(^\s+|\s+$)/是正则表达式,匹配字符串两边的空格 |  不是或吗???这个正则表达式不理解

解决方案 »

  1.   

    //里面的是正则表达式,所以//之间的是正则表达式的语法了,| 不是js中的或运算,是正则语法中的或者的意思。
    \s表示空字符
    ^表示开头
    $表示结尾
    +表示一个以上的前字符
    ^\s+ 就表示 开头处一个以上的空字符
    \s+$ 表示 结尾处一个以上的空字符
    |是或者
    (^\s+|\s+$) 就匹配了开头和结尾的空格
      

  2.   

    ^是字符串开始的意思
    $是字符串结束的意思
    \s指空格.
    中间的|是选择的意思.
    就是说可以匹配^\s+或\s+$,也就是和或差不多.但是作用范围是()内
      

  3.   

    去掉两边空格是var a="  1234 asdf   ";
    var b=a.replace(/(^\s*)|(\s*$)/g,""); 
    //var b=a.replace(/^\s*|\s*$/g,""); //这样也可以
    //比较结果
    alert(a+"\n"+b);
    /(^\s+|\s+$)/ 你这里的问题是红色部分括起来当作一个整体了