【发布时间】:2023-04-06 08:16:01
【问题描述】:
我创建了一个函数,用于检查输入文本字段是否有效,然后将类名附加到将对应于某些 css 代码的元素,或者如果有效则不执行任何操作。
function checkInputText(inputType, elem, oldClass, classError) {
var inputT = document.getElementById(elem);
var oldClass = oldClass;
var b = regex[inputType].test(inputT.value)
if (!b) {
inputT.className = classError + ' ' + oldClass;
return false;
} else {
inputT.className = oldClass;
}
}
但是,由于某种未知的原因,当函数调用 .test() 函数时,它第一次为某个事件返回 true,但当你再次尝试它时,它返回 false。
【问题讨论】:
-
您知道,这条线
var oldClass = oldClass;没有任何作用。 -
不管有什么问题,在 .test 行的末尾加一个分号 - 这可能不是问题的原因,但无论如何这是必须的。
-
你为什么不真正尝试解决我的问题,而不是批评我的错误,这显然与我的问题无关
-
另外,电子邮件检查
^\w*@\w*.com的正则表达式肯定可以改进。这会拒绝someone@telus.net和someone@shaw.ca,但它允许@.com!@#$%和@_.comfoobar作为有效传递。
标签: javascript regex