2013-07-23 86 views
0

嗨我想从两端修剪字符串在JavaScript中,但它不能正常工作。脚本无法工作或有时从文本框中失去焦点。 我写javascript象下面&称其为验证功能如何在JavaScript中修剪字符串?

function trim(s) 
     { 
      if (typeof s!= "string") { 
       return s; 
      } 
      var retValue = s; 
      var ch = retValue.s(0, 1); 
      while (ch == " ") 
      {  retValue = retValue.substring(1, retValue.length); 
        ch = retValue.substring(0, 1); 
      } 
      ch = retValue.substring(retValue.length-1, retValue.length); 
      while (ch == " ") 
      { 
       retValue = retValue.substring(0, retValue.length-1); 
       ch = retValue.substring(retValue.length-1, retValue.length); 
      } 
      while (retValue.indexOf(" ") != -1) 
      { 
       retValue = retValue.substring(0, retValue.indexOf(" ")) + retValue.substring(retValue.indexOf(" ")+1, retValue.length); 
      } 
       return retValue; 
     } 

     function validate() { 
     // alert("Please! Enter Farm Name"); 
     if (!trim(document.getElementById("<%=txtFarm_Name.ClientID%>").value)) { 
      alert("Please! Enter Farm Name"); 
      document.getElementById("<%=txtFarm_Name.ClientID%>").focus(); 
      return false; 
     } 

}

+0

你可以看看到jQuery的修剪 http://api.jquery.com/jQuery.trim/ – nozari

+0

存在着['trim'](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)方法。为什么试图自己呢? :/ –

回答

0

我写此功能微调,当.trim()函数在JS是不可用的方式早在2008年。一些较旧的浏览器仍然不支持.trim()函数,我希望这个函数可以帮助你。

TRIM FUNCTION

function trim(str) 
{ 
    var startpatt = /^\s/; 
    var endpatt = /\s$/; 

    while(str.search(startpatt) == 0) 
     str = str.substring(1, str.length); 

    while(str.search(endpatt) == str.length-1) 
     str = str.substring(0, str.length-1); 

    return str; 
} 

说明:函数修整()接受字符串对象,并除去任何起始和尾部空格(空格,制表符和换行符),并返回修剪字符串。您可以使用此功能修剪表单输入以确保发送有效数据。

可以通过以下方式调用该函数作为示例。

form.elements[i].value = trim(form.elements[i].value); 
0

你可以不喜欢以下

if(!String.prototype.trim) { 
    String.prototype.trim = function() { 
    return this.replace(/^\s+|\s+$/g,''); 
    }; 
} 

有些事情一旦上面的代码被执行,可使用如下所示

var str = " Hello world "; 
console.log(str.trim()); 

或者,如果jQuery是在项目中使用,然后像下面的工作太

var str = " Hello world "; 
$.trim(str); 
+0

请同时指定您已接受此代码的链接。 –