javascript正则表达式验证数据类型

时间:2014-02-01 08:43:58

标签: javascript regex

我正在尝试使用正则表达式来验证数据类型。 例子是关于要求数值的问题的数字和字符串值问题的字符串。

所以我尝试构建我的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();
    }

1 个答案:

答案 0 :(得分:0)

您需要在if条件中使用||而不是|

if ((firstSelection=="number"||firstSelection=="father"||secondSelection=="number"||secondSelection=="father")&&(!/^(?=.*\d).$/.test(word)))
  • |用于按位OR