<input id="textName" type="text" name="name" value="" />
判断上面的控件是否为空的语句,我是这样写的
var userName = document.getElementById('textName');
if (userName.value != "") 和 if (userName.value.length != 0) 这样写,当你输入一个空格的时候,判断是也是true,怎样写,输入空格,返回的是false。
function JTrim(s)
{
return s.replace(/(^\s*)|(\s*$)/g, "");
}
你先调用一下这个方法,然后在判断
function CheckNull()
{
var userName = document.getElementById('textName').value;
if (JTrim(UserName) != "")
{
//写操作
}
}
方法很好,非常谢谢。
那是因为输入空格也是一个字符啊!userName.value != " "这样应该可以啦!
亲人啊,这个不可以。下面是我的测试,已经有了答案了,共同来参考。
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 /> 测试结果:当什么也没有输入的时候,弹出“对不起,你没有输入内容”,符合所想。 <br /> 但当输入一个空格时,弹出“对不起,你没有输入内容”,符合所想。 <br /> 结论:这个方法可用。<br /> <input onclick="validator2();" type="button" name="name" value="vaildator2()" /> 这个是通过 s.replace(/\s+/g, ""); 来判断的。 <br /> 测试结果:当什么也没有输入的时候,弹出“对不起,你没有输入内容”,符合所想。 <br /> 但当输入一个空格时,弹出“对不起,你没有输入内容”,符合所想。 <br /> 结论:这个方法可用。<br /> <input onclick="validator3();" type="button" name="name" value="vaildator3()" /> <br /> 这个是通过 !var1.value 来判断的。 <br /> 测试结果:当什么也没有输入的时候,弹出“对不起,你没有输入内容”,符合所想。 <br /> 但当输入一个空格时,弹出“你输入了内容”,不符合所想。 <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>
第一个比较乱,是测试版本,下面的是可以用的,参考下面的吧。
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>
function validator()
{
var var1 = document.getElementById( "1 ") ;
alert(var1);
var parten = /^\s*$/ ;
if(parten.test(var1))
alert( "all spaces! ") ;
else
alert( "not all spaces ");
}
非常感谢
用jquery吧 封装好了非空判断
$.trim();
非常感谢你的建议,可惜我还没有学。
if(Trim($("#textName").val())!="") { }
不好意思忘记了 JS 没有Trim
Trim 参照 http://www.cnblogs.com/pentiunz/archive/2010/04/20/1716425.html
依然感谢。