用javascript检查输入每个字符是不是在0~9之间呀!

解决方案 »

  1.   

    正则表达式阿,又快又方便。
    比如:
    String zip=jText.getText();
    String number=jText.getText();
    System.out.println(zip.matches("\\d{6}"));//六位数字返回true,否则false
    System.out.println(number.matches("\\d*"));//只要是数字就返回true,不限定位数就说这些,具体的看jdk文档就可以了,讲得很详细的。
      

  2.   

    用Integer.parseInt转换,然后捕获NumberFormatException错误。
      

  3.   

    比较字符串中字符的ASCII是不是在数字的范围内!
      

  4.   

    取出得到的字符串的每一个字符,判断它的ASCII码值,然后分析
    把这些步骤包装一下,只流一个很小的interface
      

  5.   

    //test.java
    public class test {
      public static void main(String[] args) {
        if (args.length!=0){
          try{
            System.out.println(Integer.parseInt(args[0]));
          }
          catch(NumberFormatException e){
            System.out.println("String can not convert to Integer");
          }
        }
      }
    }
      

  6.   

    String str = "43432432423";
    if (str != null )
    {
        if (str.matches("^\\d{1,}$")) //这个正则式表示任意长的数字
        {
           System.out.println("此字符串为数字!");
        }
        else
        {
           System.out.println("此字符串包含非数字");
        }
    }
      

  7.   

    使用Character.isDigi来检查每个一字符是否数字
      

  8.   

    Integer.parseInt,不出错就是数字。嘻嘻
      

  9.   

    总结一下:客户端的两种解决办法
    1. xta(小茹) 最好的办法就是不让用户输入非数字——再使用者输入非数字字符时提示,并且取消用户输入的字符。
    2.  listening(zqy) JavaScript:isNaN(fieldValue)——这个没用过,不懂服务器端的两种解决办法
    3.  liuyuw(整狼专家)  正则表达式 Sring.matchs(regularexpress)
       System.out.println(zip.matches("\\d{6}"));//六位数字返回true,否则false
       System.out.println(number.matches("\\d*"));//只要是数字就返回true,不限定位数4.  roadanglenc()  try{Integer.parseInt}catch (NumberFormatException){}点评:
    放在客户端性能比较好,可以节约服务器的资源。代码中判断条件写起来稍微麻烦一点,可重用性值得怀疑。今天需要判断是否数字,明天判断是否全大写(全小写),需要改代码结构,稍麻烦。
    利用正则式或者Integer.parseInt书写代码较方便,其中写正则式更加灵活。缺点是需要占用服务器的资源和带宽。理想的解决办法:
    在客户端利用Javascript生成正则式语义检查器。这种办法理想状态下可以说能够结合两种方式的优点。
      

  10.   

    总结一下:客户端的两种解决办法
    1. xta(小茹) 最好的办法就是不让用户输入非数字——再使用者输入非数字字符时提示,并且取消用户输入的字符。
    2.  listening(zqy) JavaScript:isNaN(fieldValue)——这个没用过,不懂服务器端的两种解决办法
    3.  liuyuw(整狼专家)  正则表达式 Sring.matchs(regularexpress)
       System.out.println(zip.matches("\\d{6}"));//六位数字返回true,否则false
       System.out.println(number.matches("\\d*"));//只要是数字就返回true,不限定位数4.  roadanglenc()  try{Integer.parseInt}catch (NumberFormatException){}点评:
    放在客户端性能比较好,可以节约服务器的资源。代码中判断条件写起来稍微麻烦一点,可重用性值得怀疑。今天需要判断是否数字,明天判断是否全大写(全小写),需要改代码结构,稍麻烦。
    利用正则式或者Integer.parseInt书写代码较方便,其中写正则式更加灵活。缺点是需要占用服务器的资源和带宽。理想的解决办法:
    在客户端利用Javascript生成正则式语义检查器。这种办法理想状态下可以说能够结合两种方式的优点。
      

  11.   

    如果是Javascript,怎么会没用过isNaN?我不相信。
    http://www.tisin.com/school/homepage/jscript/lesson/learn3/tech/js/glob12.htm#1012439