<script type="text/javascript">
  function check() {
   var name = document.getElementById("name").value.replace(/(^\s*)|(\s*$)/g, "");
   if(name == "") {
   alert("留言名称不能为空");
   return false;
   }
   return true;
  }
  </script>主要判断留言回复内容不能为空 但是value.replace(/(^\s*)|(\s*$)/g, "")这个正则表达式我不太明白,我是初学者,哪位高手可以帮我解释解释呗。

解决方案 »

  1.   

    就是把字符串两端的空格给去掉
    " aaaa "
    变为"aaaa" javascript没有 trim函数,功能就是trim
      

  2.   

    /(^\s*)|(\s*$)/g
    该正则是匹配以空格开头或结尾的字符串
    value.replace(/(^\s*)|(\s*$)/g, "") 去掉两端的空格
    可以为string写个公共的方法 
       String.prototype.trim = function (){
         var str = this.replace(/(^\s*)|(\s*$)/,"");
         return str;
       }
        var str = " aaa ";
        alert(str.trim().length)
      

  3.   

    相当于C#里的 string.Trim()操作 
      

  4.   

    replace(/(^\s*)|(\s*$)/g, "")^:限定为字符串开始位置
    \s:空白字符
    *:0次或多次
    \s*:即0次或多次空白字符
    |:分组捕获,就是或者的意思,一个括号为一组
    $:限定为字符串的结尾位置所以合起来此正则的作用是:将传入的字符串的头和尾的空格替换为空,如果传入的字符串全部是由空格组成,则最后替换结果为空(""),是比直接用document.getElementById("name").value==""来判断输入否为空更严格正确的方法,不知道LZ明白了木有。。