首页 新闻 会员 周边

js中判断输入框为空是语句怎么写?

2
[已解决问题] 解决于 2012-10-31 12:34

<input id="textName" type="text" name="name" value="" />

判断上面的控件是否为空的语句,我是这样写的

var userName = document.getElementById('textName');

if (userName.value != "") 和 if (userName.value.length != 0) 这样写,当你输入一个空格的时候,判断是也是true,怎样写,输入空格,返回的是false。

dianyitongxiao的主页 dianyitongxiao | 初学一级 | 园豆:77
提问于:2012-10-31 10:50
< >
分享
最佳答案
1

function JTrim(s)
{
    return s.replace(/(^\s*)|(\s*$)/g, "");
}

你先调用一下这个方法,然后在判断

function CheckNull()

{

  var userName = document.getElementById('textName').value;

  if (JTrim(UserName) != "")

  {

      //写操作

  }

}

奖励园豆:5
sunlary | 小虾三级 |园豆:934 | 2012-10-31 11:06

方法很好,非常谢谢。

dianyitongxiao | 园豆:77 (初学一级) | 2012-10-31 12:32
其他回答(4)
0

那是因为输入空格也是一个字符啊!userName.value != " "这样应该可以啦!

谢安1 | 园豆:186 (初学一级) | 2012-10-31 10:52
亲人啊,这个不可以。下面是我的测试,已经有了答案了,共同来参考。
1
<script type="text/javascript">// <![CDATA[ 2 function JTrim1(s) { 3 return s.replace(/(^\s*)|(\s*$)/g,""); 4 } 5 6 function JTrim2(s) { 7 return s.replace(/\s+/g, ""); 8 } 9 10 function validator1() { 11 var var1 = document.getElementById("1"); 12 if (JTrim1(var1.value) == "") 13 alert("对不起,你没有输入内容"); 14 else 15 alert("你输入了内容"); 16 } 17 18 function validator2() { 19 var var1 = document.getElementById("1"); 20 if (JTrim2(var1.value) == "") 21 alert("对不起,你没有输入内容"); 22 else 23 alert("你输入了内容"); 24 } 25 26 function validator3() { 27 var var1 = document.getElementById("1"); 28 if (!var1.value) 29 alert("对不起,你没有输入内容"); 30 else 31 alert("你输入了内容"); 32 } 33 34 // ]]></script> 35 <p><input id="1" type="text" value="" /> <br />
<input onclick="validator1();" type="button" name="name" value="vaildator1()" /> <br /> 这个是通过 s.replace(/(^\s*)|(\s*$)/g,""); 来判断的。 <br /> 测试结果:当什么也没有输入的时候,弹出&ldquo;对不起,你没有输入内容&rdquo;,符合所想。 <br /> 但当输入一个空格时,弹出&ldquo;对不起,你没有输入内容&rdquo;,符合所想。 <br /> 结论:这个方法可用。<br /> <input onclick="validator2();" type="button" name="name" value="vaildator2()" /> 这个是通过 s.replace(/\s+/g, ""); 来判断的。 <br /> 测试结果:当什么也没有输入的时候,弹出&ldquo;对不起,你没有输入内容&rdquo;,符合所想。 <br /> 但当输入一个空格时,弹出&ldquo;对不起,你没有输入内容&rdquo;,符合所想。 <br /> 结论:这个方法可用。<br /> <input onclick="validator3();" type="button" name="name" value="vaildator3()" /> <br /> 这个是通过 !var1.value 来判断的。 <br /> 测试结果:当什么也没有输入的时候,弹出&ldquo;对不起,你没有输入内容&rdquo;,符合所想。 <br /> 但当输入一个空格时,弹出&ldquo;你输入了内容&rdquo;,不符合所想。 <br /> 结论:这个方法不可用。</p> 36 <script type="text/javascript">// <![CDATA[ 37 //下面的都是注释,没有调用到的。 38 /************************************************************ 39 去除所有空格: 40 str = str.replace(/\s+/g, ""); 41 去除两头空格: 42 str = str.replace(/^\s+|\s+$/g, ""); 43 44 //这是正则,\s匹配空格和回车等 45 var parten = /^\s*$/; 46 *************************************************************/ 47 // ]]></script>
支持(0) 反对(0) dianyitongxiao | 园豆:77 (初学一级) | 2012-10-31 12:25

第一个比较乱,是测试版本,下面的是可以用的,参考下面的吧。

1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 3 <html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <title></title> 6 </head> 7 <body> 8 <script type="text/javascript"> 9 function JTrim1(s) { 10 return s.replace(/(^\s*)|(\s*$)/g, ""); 11 } 12 13 function JTrim2(s) { 14 return s.replace(/\s+/g, ""); 15 } 16 17 function validator1() { 18 var var1 = document.getElementById("1"); 19 if (JTrim1(var1.value) == "") 20 alert("对不起,你没有输入内容"); 21 else 22 alert("你输入了内容"); 23 } 24 25 function validator2() { 26 var var1 = document.getElementById("1"); 27 if (JTrim2(var1.value) == "") 28 alert("对不起,你没有输入内容"); 29 else 30 alert("你输入了内容"); 31 } 32 </script> 33 <input type= "text" id= "1" value=""/> 34 <br /> 35 <input type="button" name="name" value="vaildator1()" onclick= "validator1();" /> 36 <br /> 37 <input type="button" name="name" value="vaildator2()" onclick= "validator2();" /> 38 <br /> 39 </body> 40 </html>
支持(0) 反对(0) dianyitongxiao | 园豆:77 (初学一级) | 2012-10-31 12:30
2

function validator()
{
var var1 = document.getElementById( "1 ") ;
alert(var1);
var parten = /^\s*$/ ;
if(parten.test(var1))
alert( "all spaces! ") ;
else
alert( "not all spaces ");
}

http://hi.baidu.com/niewg/item/d2f6e42cb05fef4747996224

悟行 | 园豆:12559 (专家六级) | 2012-10-31 10:55

非常感谢

支持(0) 反对(0) dianyitongxiao | 园豆:77 (初学一级) | 2012-10-31 12:31
0

用jquery吧 封装好了非空判断

$.trim();

oppoic | 园豆:770 (小虾三级) | 2012-10-31 10:56

非常感谢你的建议,可惜我还没有学。

支持(0) 反对(0) dianyitongxiao | 园豆:77 (初学一级) | 2012-10-31 12:31
0
if(Trim($("#textName").val())!="")
{
}
sym_cn | 园豆:798 (小虾三级) | 2012-10-31 11:01

不好意思忘记了 JS 没有Trim

Trim 参照 http://www.cnblogs.com/pentiunz/archive/2010/04/20/1716425.html

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2012-10-31 11:03

依然感谢。

支持(0) 反对(0) dianyitongxiao | 园豆:77 (初学一级) | 2012-10-31 12:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册