js如何验证用户输入的只能是数字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何验证用户输入的只能是数字?相关的知识,希望对你有一定的参考价值。

<input type='text' name='test' id='test'/>
<script type='text/javascript'>
</script>
请写个验证用户输入的字符,提示用户输入数字。
请测试成功后给出具体的正则代码。

如果判断输入的是否是数字,如果不是数字弹出一个提示:简易代码如下:
<body>
<input type="text" id="inp"></table>
</body>
<script>
var oInp = document.getElementById(\'inp\');
oInp.onblur=function()
if(isNaN(Number(oInp.value)))  //当输入不是数字的时候,Number后返回的值是NaN;然后用isNaN判断。
alert(\'不是数字!\')


</script>
参考技术A function check_validate1(value)
    //定义正则表达式部分
    var reg = /^\\d+$/;
    if( value.constructor === String )
        var re = value.match( reg );
        return true;
    
    return false;

纯数字

本回答被提问者采纳
参考技术B 亲,用正则表达式判断一下就可以了追问

请测试成功后给出具体的正则代码。

追答

不用正则了,用其他的判断按键的keycode码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Document</title>
</head>
<body>
<input type='text' name='test' id='test'/>
   <script type='text/javascript'>
       var oTest=document.getElementById('test');
       oTest.onkeydown=function(ev)
       
          var oEvent=ev||event;
          if((oEvent.keyCode<48||oEvent.keyCode>57)&&oEvent.keyCode!=8&&oEvent.keyCode!=13)
          
            alert('请输入数字!');
            return false;
          
       
   </script>
</body>
</html>

如何限制用户只能输入0-50的数字

如何限制用户只能输入0-50的数字,在JTextField或JTextArea中。
如果输入了非法字符的话弹出提示框提示,又该如何实现呢?

参考技术A 我写了一个,你运行看看 类名为InputTest.java
我这个就算是输入非数字也不会报错,你运行就知道了。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JOptionPane;

public class InputTest
public static void main(String args[])
Pattern p = Pattern.compile("[0-4][0-9]|[5][0]|[0-9]");

String s = JOptionPane.showInputDialog("请输入数字:");

Matcher m = p.matcher(s);
if(m.matches())JOptionPane.showMessageDialog(null, "是0-50之间的数", "结果", JOptionPane.OK_CANCEL_OPTION);
elseJOptionPane.showMessageDialog(null, "不是0-50之间的数.", "结果", JOptionPane.ERROR_MESSAGE);


本回答被提问者采纳
参考技术B 可以在处理异常时抛出一个提示信息(跳出一个对话框)说“你输入了非数字”
因为抛出异常一般是类型转换异常(但你要确保该方法里就这个异常而没别的异常)
将文本框里的内容转换成数字 然后设转换后的数字变量为a
if(a<0 || a>50)
跳出对话框提示信息("输入有误")

is this what you want???
参考技术C 你用的Jtextfield或者area里面得到的value都是字符串,你要用integra.parsInt()把它转换成整数然后判断>0 <50就ok 了这个太简单了 参考技术D 你写个方法来判断撒,先获取文本框中的值,再将它转为int型,如果转不了就抛出异常,能转的话再判断它是不是符合你的要求,java中是没有内置的方法可以实现你这个功能的,如果你代码不会写,就再mi我~ 第5个回答  2009-01-18 你还有什么要求,一起说出来。100分,我给你代码。

以上是关于js如何验证用户输入的只能是数字?的主要内容,如果未能解决你的问题,请参考以下文章

在js中正则表达式如何判断用户输入的内容只能是数字和字母

js验证表单不能填数字怎么判断?

在js中正则表达式如何判断用户输入的内容只能是数字和字母

js验证如何限制文本框只能输入数字

如何通过js限制用户在input text中只能输入数字和"-"号?

js验证如何限制文本框只能输入数字