Javascript表单验证。单选按钮和复选框。如何验证?

时间:2017-09-11 04:23:54

标签: javascript html validation checkbox

我遇到了广播和复选框的Javascript表单验证问题。

我有一个外部.js脚本,我的所有功能规则都链接在html head部分。

我的规则如下所示:

    function IsValid4DigitZip( str ) {
    // Return immediately if an invalid value was passed in
    if (str+"" == "undefined" || str+"" == "null" || str+"" == "")  
        return false;

    var isValid = true;

    str += "";

    // Rules: zipstr must be 5 characters long, and can only contain numbers from
   // 0 through 9
   if (IsBlank(str) || (str.length != 4) || !IsInt(str, false))
        isValid = false;

   return isValid;
} // end IsValid4DigitZip

我将这个部分称为这个部分:

    if (IsValid4DigitZip(document.orderbooks.querySelectorAll("[name=postcode]")[0].value)) {

  } else {
    alert("Invalid postcode: You entered 3 or less digits. Please enter a 4 digit postcode");
    return false;
  }

有些人可以使用我的示例帮助编写无线电和复选框的功能规则。

我只能使用Javascript。没有Jquery。

谢谢。

2 个答案:

答案 0 :(得分:1)

第一个条件检查str是否有truthy value,第二个条件检查其长度,最后一个检查所有字符是否为数字。

P.S。我假设你5中的 Rules 是一个错字,你的意思是 4

function isValid4DigitZip(str) {
	return str && str.length === 4 && /^\d+$/.test(str);
}

console.log(isValid4DigitZip('1234'));
console.log(isValid4DigitZip('124a'));
console.log(isValid4DigitZip('0000'));
console.log(isValid4DigitZip('12345'));
console.log(isValid4DigitZip('abcd'));

答案 1 :(得分:0)

为了检查输入是否插入字符串,我推荐正则表达式。 上面的代码很好,但如果你需要再做一次检查,它将导致代码重复。

这样做:

var zipCodeRegex = /^\d+$/

function isValid4DigitZip(str) {
    return str && str.length === 4 && zipCodeRegex.test(str);
}
通过这种方式,它将更容易维护并且更易读。

P.S。 有一个很棒的网站来测试你的正则表达式条件:

http://rubular.com/

使用它。