2013-07-23 113 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

請同時指定您已接受此代碼的鏈接。 –