2012-03-13 61 views
-2

如何验证我的文本框中是否只有空格?我已经验证过一个空的文本框,但是如何验证只有空格的文本框。验证文本框仅适用于空格

我希望文本框的行为类似于空文本框,如果输入的字符串只有空格。

谢谢。

+2

**这样的懒人问题** ....包括一些当前的代码...包括输入和预期结果的一些例子......你想在PHP或JavaScript中使用它吗? – ManseUK 2012-03-13 12:05:20

+0

[Trim](http://stackoverflow.com/questions/498970/how-do-i-trim-a-string-in-javascript)检查它的内容之前的值。 – 2012-03-13 12:06:10

回答

0

总是修剪你的文本字段的值,这样,你从来没有来验证上的空间,例如(使用jQuery):

var value = $.trim(('#theId').val()); 
0

使用此功能尝试:从

function validate() { 
    var field = document.getElementById("myField"); 
    if (field.value.replace(/ /g, "").length == 0) { 
     alert("Please enter some data (not spaces!)"); 
    } 
} 
0

参考steven levithan blog on Faster javascript trim

修剪JavaScript中的字符串,用于具有以下功能的前导和尾部空格

<script type='text/javascript'> 

function validate() 
{ 
    var str= document.getElementById('str').value; 

    if(str== '' || trim(str) == '') 
    { 
     alert('Invalid string'); 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 
function trim (str) { 
    str = str.replace(/^\s+/, ''); 
    for (var i = str.length - 1; i >= 0; i--) { 
     if (/\S/.test(str.charAt(i))) { 
      str = str.substring(0, i + 1); 
      break; 
     } 
    } 
    return str; 
} 
</script> 
+0

我想知道为什么你没有使用明显的'str = str.replace(/^\ s + /,'').replace(/ \ s + $ /,'');'。相反,您只能使用正则表达式删除前导空格,并对尾随空格使用循环,测试甚至为负数。 (\ S而不是\ s)。这使得阅读有点困难。 – Leif 2012-03-13 12:38:35

+0

@Leif'http:// blog.stevenlevithan.com/archives/faster-trim-javascript' blog.stevenlevithan.com - 更快的JavaScript修改 – 2012-03-13 12:46:51

+0

这真是太神奇了。你应该在你的回答中提到这一点。 – Leif 2012-03-13 12:53:10

0

如果我正确理解你的问题,你在寻找这样的事情:

function consistsEntirelyOfWhitespace(textBox) { 
    return (textBox.value.match(/^\s+$/) !== null); 
}