Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证数据类型的javascript正则表达式_Javascript_Regex - Fatal编程技术网

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

验证数据类型的javascript正则表达式,javascript,regex,Javascript,Regex,我尝试使用正则表达式来验证数据类型。 这个例子是关于要求一个数字来回答询问数值的问题和字符串来回答字符串值的问题 所以我试着构造我的if语句,如果第一个或第二个问题是关于“父亲”或“数字”的,而答案不是数字,抛出警报,等等 如果想要另一个else-if语句,该语句表示如果问题是关于某某的(需要字符串答案),并且答案不是字符串,则抛出警报 对于任何类型的按键事件,无论按键是数字还是字符串,它都会给我一个“你必须输入一个数字”的提示。。。 我感谢你的任何意见。。谢谢 function val

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

所以我试着构造我的if语句,如果第一个或第二个问题是关于“父亲”或“数字”的,而答案不是数字,抛出警报,等等

如果想要另一个else-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();
    }

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

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

这应该不是布尔人的问题,我错了吗?