【发布时间】:2013-11-30 18:51:32
【问题描述】:
我正在尝试验证我的 html 表单的每个元素。
这是我的代码:
function check()
{
var re1 = new RegExp("^[a-zA-z]{3,20}$"); //Prename
var re2 = new RegExp("^[a-z0-9_-]{3,15}$"); //Username
var index;
var element;
var data = ["prename", "lastname", "username", "email", "password", "password1"];
for (index = 0; index < data.length; ++index)
{
element = data[i];
checkinput(element);
}
}
function checkinput(element)
{
if (element == "prename")
{
if (document.register.element.value.match(re1))
{
document.getElementById(element).style.borderColor="lightgreen";
}
else
{
document.getElementById(element).style.borderColor="red";
}
}
else if (element == "lastname")
{
if (document.register.element.value.match(re1))
{
document.getElementById(element).style.borderColor="lightgreen";
}
else
{
document.getElementById(element).style.borderColor="red";
}
}
else if (element == "username")
{
if (document.register.element.value.match(re2))
{
document.getElementById(element).style.borderColor="lightgreen";
}
else
{
document.getElementById(element).style.borderColor="red";
}
}
}
例如,如果 id #prename 的输入字段不像我的正则表达式模式,它应该有一个红色的边框颜色。但它不是红色或绿色。我的错在哪里?
【问题讨论】:
-
你能用这个做个小技巧吗?
-
除非您打算在其他地方引用 checkinput,否则您也不需要这些返回值。
-
我无法让 jsfiddle 工作。但是你可以在这里测试它:new.infinity-hosting.ch/register.php@elreimundo 你是对的。我已将其删除。
标签: javascript regex validation