javascript/jquery输入验证

javascript/jquery输入验证,javascript,jquery,forms,validation,jquery-mobile,Javascript,Jquery,Forms,Validation,Jquery Mobile,我有一个表单,用户可以通过点击按钮添加更多的输入框。 用户可以有任意多的输入框 我不打算添加删除字段的按钮 它们的默认输入框数为2。 假设用户决定再添加3个,现在总共有5个 为了验证,我想检查输入框是否为空,或者输入是否包含所有空格,如:“”,无论有多少空格,只要它除了空格之外没有其他空格。 我可以通过检查长度来检查空输入,但如何检查后者? 对于任意数量的连续空格有正则表达式吗? 谢谢 PS:我将jQuery与jQuery mobile一起使用您可以通过检查输入字段的.value.length来

我有一个表单,用户可以通过点击按钮添加更多的输入框。 用户可以有任意多的输入框

我不打算添加删除字段的按钮

它们的默认输入框数为2。 假设用户决定再添加3个,现在总共有5个

为了验证,我想检查输入框是否为空,或者输入是否包含所有空格,如:“”,无论有多少空格,只要它除了空格之外没有其他空格。 我可以通过检查长度来检查空输入,但如何检查后者? 对于任意数量的连续空格有正则表达式吗? 谢谢


PS:我将jQuery与jQuery mobile一起使用

您可以通过检查输入字段的
.value.length
来检查输入字段是否为空,您已经知道了。要检查它是否只包含空格,请尝试以下操作:(假设输入存储在名为
input
的变量中)


.

您的问题有几个部分:

  • 如何动态添加输入字段
  • 如何循环这些字段并验证它们
  • 如何检查字段是否真的包含内容,而不仅仅是空值
我们需要系统地解决所有这些问题:

从最简单的开始-检测空字符串:

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);
valid=true//除非另有检测,否则默认为true

对于(var i=0;我可以给你一个简单的JavaScript解决方案吗?@Schien标题是JavaScript/jquery,标签中包含JavaScript,所以我会说去用它。是的,当然:)我会看看我能用它做些什么。谢谢!标记为答案和+1以供参考。修剪()正是我要找的。:)请注意,IE8和早期版本不支持.trim()方法。您可以使用jQuery。谢谢!但是rvighne的答案是最接近的:)trim()是我所需要的,但是看看你的答案并快速搜索一下,它似乎也解决了这个问题。另外,在添加输入字段时,我使用了jquery中的.clone(),谢谢!要是我能给+2就好了
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);