-1
任何人都可以请帮我修复我的JavaScript条件。Javascript条件:实时验证
情况是这样的。
当我输入9位数字时,标签应该变成红色。但是如果该字段为空并且我输入10位数字,则标签应该变成蓝色。我很难解决这个问题。
function validateField(testField)
{
var reg2 = /^([\d])/;
if(testField.value.length > 0)
{
if(reg2.test(testField) == false)
{
document.getElementById("testlabel").style.color="red"
return false;
}
else
{
document.getElementById("testlabel").style.color="black"
return true;
}
}
else
{
document.getElementById("testlabel").style.color="blue";
return true;
}
}
<label id="testlabel">Test101: </label>
<input name="txtNum" type="text" id="Num" pattern=".{10,}" minlength="10" maxlength="10" onblur="validateField(this);" >
没有上面的代码错误? 'if(reg2.test(testField)== false)'testfield是这里的输入元素,而不是它的值。试试'testField.value'来获取里面的数字。然后你可以为输入的长度添加一个if/else。 – Shilly
你能澄清你实际想要在你的领域?数字或文字? – evolutionxbox
@evolutionxbox,要输入的值应该是数字,但我们希望输入类型为文本。 – Durex