0

嗨,我正在尝试在 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;
        }

}

4

2 回答 2

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);
于 2013-07-23T04:24:48.980 回答
0

早在 2008 年,当 .trim() 函数在 JS 中不可用时,我已经为 trim 编写了这个函数。一些较旧的浏览器仍然不支持 .trim() 函数,我希望这个函数可以帮助你。

修剪功能

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);
于 2013-07-23T06:44:49.247 回答