我正在尝试使用正则表达式来验证数据类型。 例子是关于要求数值的问题的数字和字符串值问题的字符串。
所以我尝试构建我的if语句,以便如果第一个问题或第二个问题是关于'父亲'或'数字'并且答案不是数字,则抛出警报等等。
想要另一个if语句,如果问题是关于这样的等等(需要字符串答案)并且答案不是字符串,则抛出警报。
对于任何类型的按键事件,它都会给我“你必须输入一个数字”,无论该键是数字还是字符串字符...... 我感谢任何输入..谢谢。
function validateDataType(word) {
firstSelection = document.getElementById('firstQ').value;
secondSelection = document.getElementById('secondQ').value;
try{
if ((firstSelection=="number"|firstSelection=="father"|secondSelection=="number"|secondSelection=="father")&&(!/^(?=.*\d).$/.test(word)))
throw "You must type in a number.";
else if (!/^(?=.*[a-z])(?=.*[A-Z]).$/.test(word))
throw "You must type in text.";
}
catch(inputError){
window.alert(inputError);
return false
}
finally {
document.forms[0].firstA.value ='';
document.forms[0].secondA.value = '';
}
document.open();
document.write("You entered valid answers");
document.close();
}
答案 0 :(得分:0)
您需要在if条件中使用||
而不是|
:
if ((firstSelection=="number"||firstSelection=="father"||secondSelection=="number"||secondSelection=="father")&&(!/^(?=.*\d).$/.test(word)))
|
用于按位OR