我有一个表单,用户可以在按钮单击时添加更多的输入框。 用户可以有他们想要的尽可能多的输入框。javascript/jquery输入验证
我不打算添加一个按钮来删除字段。
它们默认的输入框个数为2 假定用户决定增加3个,现在共有5
进行验证的,我想检查输入框为空或如果输入具有如下所有空格:“”无论空间有多少空间,只要它没有其他空间。 我可以通过检查长度来检查空的输入,但是如何检查后者? 是否有任何数量的连续空格的正则表达式? 谢谢!
PS:我使用jQuery使用jQuery移动
我有一个表单,用户可以在按钮单击时添加更多的输入框。 用户可以有他们想要的尽可能多的输入框。javascript/jquery输入验证
我不打算添加一个按钮来删除字段。
它们默认的输入框个数为2 假定用户决定增加3个,现在共有5
进行验证的,我想检查输入框为空或如果输入具有如下所有空格:“”无论空间有多少空间,只要它没有其他空间。 我可以通过检查长度来检查空的输入,但是如何检查后者? 是否有任何数量的连续空格的正则表达式? 谢谢!
PS:我使用jQuery使用jQuery移动
您可以检查是否输入字段为空,通过检查其.value.length
,因为你已经知道了。要检查它是否只包含空格,那么试试这个:(假定输入被存储在一个名为input
变量)
if (!input.value.trim().length) // oh noes! it's blank or whitespace-filled!
谢谢!标记为答案和+1以供参考。修剪()是我一直在寻找。 :) –
请注意,.trim()方法在IE8及更早版本中不受支持。你可以使用jQuery的[trim](http://api.jquery.com/jQuery.trim/)。 –
你的问题有几个部分组成:
我们要解决所有这些问题,以系统的方式:
从最简单的开始 - 检测空字符串:
if (value.replace(/\s/g,'')=='') //string is empty
接着,添加动态输入字段:
var myinput=document.createElement('input');
document.body.appendChild(myinput);
//the trick here is to "remember" this element for later use
document.myinputs=[];
document.myinputs.push(myinput);
要检查所有输入字段,首先检查静态字段,然后循环访问动态输入字段:
valid=true; //default to true unless detected otherwise
for (var i=0;i<document.myinputs.length;i++){
var input=document.myinputs[i];
if (input.value.replace(/\s/g,'')=='') valid=false;
}
alert(valid);
谢谢!但rvighne的答案是最接近的一个:) trim()是我所需要的,但看着你的答案,做一些快速谷歌它似乎也解决了这个问题。 此外,添加输入字段我使用.clone()从jquery 谢谢!如果我只能给+2 –
你介意一个普通的JavaScript解决方案吗? – Schien
@Schien标题说** javascript **/jquery和标签包含JavaScript,所以我会说去吧。 – rvighne
是的,当然:) 我会看看我能用它做什么。 –