1,允许西式输入,如:12,347,865
2,允许中式输入,如12356324
3,不允许混合式,如:1,564355
正确输入的以西式显示,不正确输入的提示

解决方案 »

  1.   

    <script>   
      //检查是否为任意数(实数)   
      function   isNumeric(strNumber)   
      {   
          var   newPar=/^(-|\+)?\d+(\.\d+)?$/   
          alert(newPar.test(strNumber));   
      }   
      //检查是否为正数   
      function   isUnsignedNumeric(strNumber)   
      {   
          var   newPar=/^\d+(\.\d+)?$/   
          alert(newPar.test(strNumber));   
      }   
      //检查是否为整数   
      function   isInteger(strInteger)   
      {   
          var   newPar=/^(-|\+)?\d+$/   
          alert(newPar.test(strInteger));   
      }   
      //检查是否为正整数   
      function   isUnsignedInteger(strInteger)   
      {   
          var   newPar=/^\d+$/   
          alert(newPar.test(strInteger));   
      }   
      </script> 
      

  2.   

    看不明白阿,可以用substring来实现,但是计较苯的办法。
      

  3.   

    public class numberInput {
        public numberInput() {
        }
        public boolean isUSformat(String num){
            for (int i = 0; i < num.length(); i++) {
                if (num.charAt(i) == ',') {
                    return true;
                }
            }
            return false;
        }
        public boolean isNumber(String num){
            if(isUSformat(num)){
                String[] number=num.split(",");
                for(int i=0;i<number.length;i++){
                    if (i == 0) {
                        if (number[i].length() > 3) {
                            System.out.println("數字格式不正確!");
                            return false;
                        }
                    } else {
                        if (number[i].length()!= 3){
                            System.out.println("數字格式不正確!");
                            return false;
                        }
                    }
                }
            }else{
                NumberFormat format=NumberFormat.getNumberInstance(Locale.US);
                System.out.println(format.format(Double.parseDouble(num)));
            }
            return true;
        }
        public static void main(String[] args) {
            numberInput input=new numberInput();
            System.out.println("請輸入數字:");
            BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
             String num;
            try {
                num = bf.readLine();
                if(input.isNumber(num)){
                    System.out.println(num);
                }else{
                    return;
                }
                
            } catch (IOException ex) {
            }    }
    }
    to 樓主:
    這是我試著實現的方法!
    但是有些細節沒注意,只是大致功能實現
    我沒有對輸入的數字是否為數字進行判斷
    希望對 樓主有所幫助
      

  4.   

    hero222(笑傲江湖) 
    你的程序好象不能运行把.(我是一名在校大学生,希望您可以多指点)