`
shukuiyan
  • 浏览: 414363 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个判断字数类型的类

 
阅读更多

public class JMath {


   /**
     * support Numeric format:<br>
     * "33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 " 2e4 0.36e-4
     * @param str String
     * @return boolean
     */
   public static boolean isNumeric(String str) {
       int begin = 0;
       boolean once = true;
       boolean once2 = true;
       if (str == null || str.trim().equals("")) {
           return false;
       }
       str = str.trim();
       if (str.startsWith("+") || str.startsWith("-")) {
           if (str.length() == 1) {
               // "+" "-"
               return false;
           }
           begin = 1;
       }
       for (int i = begin; i < str.length(); i++) {
           if (!Character.isDigit(str.charAt(i))) {
               if (str.charAt(i) == '.' && once) {
                   // '.' can only once
                   once = false;
               }else if(String.valueOf(str.charAt(i)).toLowerCase().equals("e") && once2 && i>begin && i<str.length()-1)
               {
                once2=false;
               }
               else {
                   return false;
               }
           }
       }
       if (str.length() == (begin + 1) && !once) {
           // "." "+." "-."
           return false;
       }
       return true;
   }

   /**
     * support Integer format:<br>
     * "33" "003300" "+33" " -0000 "
     * @param str String
     * @return boolean
     */
   public static boolean isInteger(String str) {
       int begin = 0;
       if (str == null || str.trim().equals("")) {
           return false;
       }
       str = str.trim();
       if (str.startsWith("+") || str.startsWith("-")) {
           if (str.length() == 1) {
               // "+" "-"
               return false;
           }
           begin = 1;
       }
       for (int i = begin; i < str.length(); i++) {
           if (!Character.isDigit(str.charAt(i))) {
               return false;
           }
       }
       return true;
   }


   /**
     * use Exception
     * support Numeric format:<br>
     * "33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
     * @param str String
     * @return boolean
     */
   public static boolean isNumericEx(String str) {
       try {
           Double.parseDouble(str);
           return true;
       }
       catch (NumberFormatException ex) {
           return false;
       }
   }

   /**
     * use Exception
     * support less than 11 digits(<11)<br>
     * support Integer format:<br>
     * "33" "003300" "+33" " -0000 " "+ 000"
     * @param str String
     * @return boolean
     */
   public static boolean isIntegerEx(String str) {
       str = str.trim();
       try {
           Integer.parseInt(str);
           return true;
       }
       catch (NumberFormatException ex) {
           if (str.startsWith("+")) {
               return isIntegerEx(str.substring(1));
           }
           return false;
       }
   }

   /**
    * using Regular Expression
    *
    * support Integer format:<br>
    * "33" "003300" " -0000 "
    *
    * Date: Jul 30, 2008
    *
    * @param str
    * @return
    */
   public static boolean isIntegerRegex(String str) { 
 
     Pattern pattern = Pattern.compile("^[+\\-]?\\d+$");
     Matcher matcher = pattern.matcher(str.trim());
     return matcher.matches();
   }


   /**
    * using Regular Expression
    *
    * support Numeric format:<br>
    * "33" "+33" "033.30" "-.33" ".33" " 000.000 "
    * @param str String
    * @return boolean
    */
   public static boolean isNumericRegex(String str) {

     Pattern pattern = Pattern.compile("^[+\\-]?((\\d*\\.\\d+)|(\\d+))$");
     Matcher matcher = pattern.matcher(str.trim());
     return matcher.matches();
   }

 }

 

分享到:
评论

相关推荐

    判断文件类型,测试文件长度

    从最基本的测试文件字节数,行数与字数,我把它扩展到能判断文件类型,最后再计算程序运行的时间;虽然算法比较简单,但程序设计了不少函数和系统调用,在写的过程中我也学到了不少,特此与大家分享~~~

    JS 输入字数判断实现代码

    本文将详细介绍如何使用JavaScript来实现一个简单的输入字数判断功能。 #### 二、核心知识点分析 ##### 2.1 `getElementById` 方法 - **定义**:`document.getElementById(id)` 是DOM(Document Object Model)的...

    易语言统计字数

    这个压缩包文件“易语言统计字数源码”显然是包含了一个用易语言编写的用于统计文本中字数的程序源代码。 统计字数是一项常见的文本处理任务,它在文档编辑、数据分析、文本分析等场景中都有应用。易语言提供了丰富...

    易语言统计字数源码.7z

    "易语言统计字数源码.7z" 文件是一个包含易语言源代码的压缩包,其主要目标是实现文本的字数统计功能。下面我们将详细探讨易语言编程、字数统计的基本原理以及如何通过源码实现这一功能。 1. 易语言基础: 易语言的...

    Golang 统计字符串字数的方法示例

    在Golang中,统计字符串字数是一个常见的任务,特别是在处理用户输入或文本分析时。本文将探讨如何在Golang中实现这一功能,并提供两种不同的方法。 首先,我们要明确“字数”的定义。在这个示例中,我们将遵循一种...

    贪吃蛇小游戏1.0(凑字数)

    2. **结构体(Struct)**:为了封装蛇的各种属性,如位置、长度和方向,我们可以定义一个结构体来存储这些信息,这体现了C语言的面向过程编程思想。 3. **循环(Loop)**:游戏主循环是控制游戏运行的关键,通常...

    jQuery编写textarea输入字数限制代码

    总结来看,这段代码向我们展示了如何使用jQuery来实现一个功能完备的textarea字数限制功能,包括对不同浏览器的兼容性处理、中文字符长度的特殊处理以及超出字数时的截断逻辑。这对于前端开发者而言是实际项目开发中...

    电子商务类专业 职业规划(38页 字数15800).docx

    在电子商务类专业领域,职业规划是一个关键的步骤,它帮助我们明确个人目标,发掘自身潜力,并根据行业发展趋势做出明智的职业选择。这38页的文档详细地阐述了如何进行有效的职业规划,旨在为电子商务专业的学生或...

    d3d9凑字数凑字数凑字数

    开发者可以通过创建不同的设备类型来适应不同的硬件和性能需求,如软件渲染和硬件加速。 2. 顶点缓冲区:顶点缓冲区用于存储3D模型的顶点数据,包括位置、法线、纹理坐标等。通过设置不同的顶点格式,可以灵活地...

    js实现多行文本框统计剩余字数功能

    本文将详细讲解如何使用JavaScript(简称js)来实现一个实时统计多行文本框内剩余字数的功能,并提供相应的代码示例。 首先,创建一个HTML页面,设置一个`textarea`元素,用于用户输入文字。为了防止用户改变文本框...

    IOS 开发之 UITextField限制字数的方法

    在 IOS 开发中,UITextField 是一个常用的控件,用于用户输入各种类型的数据。但是,在某些情况下,我们需要限制用户输入的字符数,以避免用户输入过多的字符,从而影响应用程序的性能和用户体验。那么,如何实现 ...

    统计一些列文件中的字数

    3. **编程脚本**:为了批量处理多个文件,你可能需要编写一个脚本。这个脚本可以逐个遍历指定目录下的文件,对每个文件执行字数统计,结果可以打印出来,或者存储到日志文件或数据库中。在Python中,这可以通过`for`...

    使用Java语言实现飞扬的小鸟小游戏

    在这个项目中,我们需要创建一个游戏窗口,可以通过JavaFX的Stage类来实现。同时,Scene类可以用来定义窗口内的内容区域。 2. **绘图基础**:在JavaFX中,我们可以使用GraphicsContext对象来绘制图形,比如小鸟、...

    PL/0语言建立一个词法分程序GETSYM(函数)

    这里定义了一个关键字数组`Kwords[]`,包含了如“CONST”、“VAR”、“procedure”等13个关键字。当传入一个字符串时,该函数会遍历这个数组,判断该字符串是否为关键字。 #### 边界符号与计算符号识别 同样地,...

    职业生涯规划模板系列2021-营销类专·业(42页 字数12000)--弘晟天泽.docx

    标题和描述中提到的“职业生涯规划模板系列2021-营销类专业(42页 字数12000)--弘晟天泽.docx”是一份专门针对营销领域的职业生涯规划文档,由弘晟天泽公司提供。这份文档可能包含了关于营销专业的深度分析、个人...

    编译原理实验一答案代码。

    这段代码示例展示了如何实现一个简单的词法分析器,它能够处理基本的词法元素,如关键字、标识符、数字及特殊符号,并能够有效地处理注释。此外,还包含了错误检测机制,能够识别并报告常见的词法错误。对于学习编译...

    js扩展基础类

    - 创建一个新的数组。 - 对原数组的每个元素进行类型判断,如果是对象,则递归复制其属性;其他类型则直接复制。 **应用场景:** - 在需要避免修改原始数组的情况下,创建数组的深拷贝。 - 实现数据结构的克隆功能...

    JS判断数组里是否有重复元素的方法小结

    第四种方法是创建一个空对象(哈希表),遍历数组中的每个元素,并在对象中以元素值作为键,将值设置为true。如果在遍历过程中尝试设置一个已经存在的键的值,则说明该元素是重复的,因为对象的键是唯一的。这种...

    javascript textarea字数限制

    // 创建一个工具对象,用于限制文本的最大长度 var TextUtil = new Object(); function Chck() { // 获取文本区域元素和最大长度限制 var oTextArea = document.getElementById("textarea1"); var maxText = ...

Global site tag (gtag.js) - Google Analytics