您好我正试图在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 :(得分: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);