Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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 onkeypress使用regex验证数据类型_Javascript_Regex_Onkeypress - Fatal编程技术网

javascript onkeypress使用regex验证数据类型

javascript onkeypress使用regex验证数据类型,javascript,regex,onkeypress,Javascript,Regex,Onkeypress,我试图对文本框的onkeypress事件使用validateDataType()函数。它可以在按钮的onclick事件上正常工作,但是如果我在onkeypress上执行该函数,它似乎无法识别代码。通过使用onkeypress事件,我希望预先提醒用户它不是问题所需的数据类型。 我感谢您的任何意见,提前感谢您的帮助 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Cha

我试图对文本框的onkeypress事件使用validateDataType()函数。它可以在按钮的onclick事件上正常工作,但是如果我在onkeypress上执行该函数,它似乎无法识别代码。通过使用onkeypress事件,我希望预先提醒用户它不是问题所需的数据类型。 我感谢您的任何意见,提前感谢您的帮助

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Challenge Questions</title>

<link href="style.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">

    /* <![CDATA[ */
    /* }]> */
    function validateDataType(answer) {

        if(answer.match(/^\d+$/)){
        alert("integer")}
        else if(answer.match(/^\d+\.\d+$/)){
        alert("float")}
        else{
        alert("string")
        }}

</script>

</head>

<body>


<div id="content-pane">



<a class="back">go back</a>
<div id="headline">Challenge Questions</div>
<br />
<br />
<br />
<br />
<form action="FormProcessor.html">
    <span id="subtitle">Please answer your security questions to reset your password.    </span>
    <br />
    <br />



           <input type="text" id="firstA" name='firstA' size="60" onkeypress="validateDataType(document.getElementById('firstA').value)" /></p>

           <p><input type="button" onclick="validateDataType(document.getElementById('firstA').value)" value="Reset Password" style="width:100px" /></p>
</form>
</div>

</body>
</html>

挑战性问题
/*  */
函数validateDataType(应答){
if(answer.match(/^\d+$/){
警报(“整数”)}
else if(answer.match(/^\d+\.\d+$/){
警报(“浮动”)}
否则{
警报(“字符串”)
}}
回去
挑战性问题




请回答您的安全问题以重置密码。


onkeypress
事件是在追加值之前触发的,因此您应该将事件更改为
onkeyup
/
onchange
或延迟函数

不知道JS,但如果使用更大的更改事件,您甚至不能修改/过滤文本框字符串吗?您确定
验证状态类型()
没有在onkeypress事件中调用,因为您的代码在我这边工作。它显示相同的消息,不管我放什么,字母、整数、浮点..,它对您的作用不一样吗?我明白了。。如何延迟功能?这是指定使用onkeypress的文本中的赋值。。