如何在javascript中修剪字符串?

时间:2013-07-23 04:19:25

标签: javascript asp.net

您好我正试图在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;
        }

}

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

我在2008年以JS方式提供.trim()函数时,我已经为trim编写了这个函数。一些旧的浏览器仍然不支持.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;
}

解释:函数trim()接受一个字符串对象并删除任何起始和尾随空格(空格,制表符和换行符)并返回剪裁后的字符串。您可以使用此功能修剪表单输入以确保发送有效数据。

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

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