如何验证大于,小于Javascript?

时间:2012-10-18 04:10:46

标签: javascript validation

再次回到另一个绝对的初学者问题。我正在验证表单,我希望文本输入限制在2个以上且少于15个字符。我试过了:

function validateForm(formElement) {
var valid = true;
if (formElement.first_name.value.length < 2) return focusElement(formElement.first_name, 'Please enter a First Name that is more than 2 characters long.');
if (formElement.first_name.value.length > 15) return focusElement(formElement.first_name, 'Please enter a First Name that is less than 15 characters long.');

以及

if (formElement.first_name.value.length < 2 && formElement.first_name.value.length > 15) return focusElement(formElement.first_name, 'Please enter a First Name that is more than 2 and less than 15 characters long.');

两者都会导致错误。我怎么能做到这一点?

3 个答案:

答案 0 :(得分:1)

这里存在一个逻辑问题 - 长度不能小于2且大于15.你应该使用的是小于2或大于15:

if (formElement.first_name.value.length < 2 || formElement.first_name.value.length > 15) return focusElement(formElement.first_name, 'Please enter a First Name that is more than 2 and less than 15 characters long.');

我也不确定你在这里使用valid = true变量是什么

答案 1 :(得分:0)

您的第二个验证码不正确。

没有什么可以&lt; 2并且同时&gt; 15。

你应该在两者之间使用'OR'||操作,而不是'和'&&

什么是FocusElement。显示代码。

答案 2 :(得分:0)

你得到了哪个错误?我认为FocusElement是您的用户定义函数。我测试你的代码如下,没关系。

<form name="frm">
  <input type="text" name="first_name">
  <input type="button" onClick="validateForm(frm)" value="Submit">
</form>

我使用你的validateForm函数并编写FocusElement javascript函数,如下所示。

function focusElement(control,message)
{
   control.focus();
   alert(message);
}

如果你想使用第二个验证码,你应该使用||而不是&amp;&amp;。