使用 substr 进行 Javascript 表单验证

标签 javascript forms validation

这是用于验证表单的 JavaScript 的一部分。这会检查它是否为空。

if (form.redoarr.value == "") {
    alert("Has to be higher");
    form.redoarr.focus();
return false;
}

我想确保输入的 4 位数字以 75 以下的 2 位数字开头。它还必须以 40 以下的 2 位数字结尾。如何使用 substr 提取前两位数字并确保他们的年龄和最后两位数字都在 75 岁以下,并确保他们在 40 岁以下。我不需要任何复杂的东西,因为它适用于私有(private)表格上的单个内部用户。我不能只使用 < 7641,因为 1849 是不行的(例如)。

最佳答案

尽管有关于永远不要仅在 JavaScript 中验证表单(而不是使用服务器端语言)的常见警告,但 REGEX 非常适合此目的:

let
err,
val = form.redoarr.value
;
if (!val)
    err = 'No value entered';
else if (!/^([0-6][0-9]|7[0-4])([0-3][0-9])$/.test(val))
    err = 'Value must be four digits, with the first two under 75 and the last two under 40';

if (err) {
    form.redoarr.focus();
    alert(err);
    return false;
}

REGEX 更干净,因为您不需要创建任何变量。不过,您可以通过子字符串来完成此操作:

let
nums_1 = val.substr(0, 2),
nums_2 = val.substr(2)
;

关于使用 substr 进行 Javascript 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53728267/

相关文章:

javascript - 正则表达式需要将名称大写,其余部分小写,并正确处理像 McDonald 这样的名称

javascript - 如何从 Ember Power Select 传递数据?

c++ - 多个输入验证约束? C++

javascript - 调整 JS Expand/Collapse 函数,它的流动性有点颠簸

javascript - AngularJS 分成多个文件 - 只有最后一个有效

html - 您可以将数据列表与 HTML 文本区域一起使用吗?

java - 错误请求中的重定向

validation - 页脚不验证 xhtml?

javascript - 使用 AngularJS 在文本框中需要两个词

javascript - 如何将 URL 参数添加到给定 href 中数据属性的 URL?