gpt4 book ai didi

javascript - 多个 If 与正则表达式

转载 作者:行者123 更新时间:2023-11-28 15:42:49 25 4
gpt4 key购买 nike

我对 if 和正则表达式有一点问题,但没有发现我的错误:-(

提交时,我有一个循环遍历所有输入字段(有效)

然后在名称中包含“von”的所有输入字段上都有一个 if。

如果第一部分中没有字符,则效果很好(独立),而使用正则表达式的另一部分则不起作用:-(

因此,当字段中没有任何内容且格式不符合 24 小时时间格式 00:00 或 09:30 时,应运行 if ...

因此,当字段中没有任何内容并且输入不符合 24 小时时间格式时,红色边框应该可见。

现在它每次都会以正确和错误的输入运行:-(

代码:

$(submit1).click(function (e) 
{
e.preventDefault();

var regtime = /([01]?[0-9]|2[0-3]):[0-5][0-9]/;

$("input").css({"border": "1px solid #bbb"});

$("input").each(function(index) {

if($('input[name$="[von]"]').val() == '' || (!regtime.test($('input[name$="[von]"]'))))
{
$('input[name$="[von]"]').css({"border": "solid", "border-color": "red"});
}
});
});

谢谢!

最佳答案

尝试

var valid = true;
//loop through only the desired input fields
$('input[name$="[von]"]').each(function () {
//get the value of the current input fields in the loop
var $this = $(this),
value = $this.val();
//target the value in the regex
if (value == '' || !regtime.test(value)) {
$this.css({
"border": "solid",
"border-color": "red"
});
valid = false;
}
});

if (!valid) {
//prevent form submit
}

由于TJ删除了答案,借用他对正则表达式测试失败的解释

Passing a jQuery object into RegExp#test will implicitly call toString on it, and so the value you'd test would be "[object Object]" rather than the value of the input.

关于javascript - 多个 If 与正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23285050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com