`

JAVA中半角和全角的判定

 
阅读更多

JAVA中半角和全角的判定

 

/** 半角标点符号开始位置 */

private static final int SINGLE_BYTE_SYMBOL_START = 0x0020;

/** 半角标点符号结束位置 */

private static final int SINGLE_BYTE_SYMBOL_END = 0x007E;

/** 半角片假名开始位置 */

private static final int SINGLE_BYTE_KATAKANA_START = 0xFF61;

/** 半角片假名结束位置 */

private static final int SINGLE_BYTE_KATAKANA_END = 0xFF9F;

/** 半角空格 */

private static final int SINGLE_BYTE_SPACE_END = 0x0020;

/**

 * 半角数字判定

 * @return 判定結果 true:半角数字

 */

public static boolean isSingleByteDigit( final char c ) {

    return ( '0' <= c ) && ( c <= '9' );

}

/**

 * 半角英字判定

 * @return 判定結果 true:半角英字

 */

public static boolean isSingleByteAlpha( final char c ) {

    return ( ( 'a' <= c ) && ( c <= 'z' ) ) || ( ( 'A' <= c ) && ( c <= 'Z' ) );

}

/**

 * 半角标点符号判定

 * @return 判定結果 true:半角标点符号

 */

public static boolean isSingleByteSymbol( final char c ) {

    return ( SINGLE_BYTE_SYMBOL_START <= c ) &&

                ( c <= SINGLE_BYTE_SYMBOL_END ) && 

                !isSingleByteAlpha( c ) && 

                !isSingleByteDigit( c );

}

/**

 * 半角片假名判定

 * @return 判定結果 true:半角片假名

 */

public static boolean isSingleByteKatakana( final char c ) {

    return ( SINGLE_BYTE_KATAKANA_START <= c ) && ( c <= SINGLE_BYTE_KATAKANA_END );

}

/**

 * 半角空格判定

 * @return 判定結果 true:半角空格

 */

public static boolean isSingleByteSpace( final char c ) {   

    boolean bRet = false;    

    if ( c == SINGLE_BYTE_SPACE_END ) {        

        bRet = true;

    }    

    return bRet;

}

===========================================

/** 全角标点符号开始位置 */

private static final int DOUBLE_BYTE_SYMBOL_START = 0xFF01;

/** 全角标点符号结束位置 */

private static final int DOUBLE_BYTE_SYMBOL_END = 0xFF5E;

/** 全角片假名开始位置 */

private static final int DOUBLE_BYTE_KATAKANA_START = 0x30A0;

/** 全角片假名结束位置 */

private static final int DOUBLE_BYTE_KATAKANA_END = 0x30FF;

/** 全角空格 */

private static final int DOUBLE_BYTE_SPACE_END = 0x3000;

判定函数同半角

===========================================

根据以上各字符判定函数可以写出检验输入文字是否规范的函数

例如:

/**

 * 只能输入半角英数和半角"@"符号

 * @return 判定結果 true:验证合法

 */

public static boolean isStringValidate( final String str ) {

    for ( int i = str.length() - 1; 0 <= i; i-- ) {

        if ( !Charset.isSingleByteDigit( str.charAt( i ) ) && 

              !Charset.isSingleByteAlpha( str.charAt( i ) ) ) {

            if ( str.charAt( i ) != "@".charAt( 0 ) {

                return false;

            }

        }

    }

    return true;

}

根据上述函数可以衍生出各种验证函数。

分享到:
评论

相关推荐

    半角与全角字符的转换

    在这个例子中,我们使用`PATINDEX`函数来查找字符串中所有的半角或全角字符,并通过`REPLACE`函数和`NCHAR`函数来实现字符的转换。 #### 总结 通过对半角与全角字符及其转换方法的介绍,我们可以了解到这两种字符...

    数字半角与全角转换.xlsx源码EXCEL VBA宏编程xlsx实例代码下载

    数字半角与全角转换.xlsx源码EXCEL VBA宏编程xlsx实例代码下载数字半角与全角转换.xlsx源码EXCEL VBA宏编程xlsx实例代码下载数字半角与全角转换.xlsx源码EXCEL VBA宏编程xlsx实例代码下载数字半角与全角转换.xlsx...

    java全角字符和半角字符转换

    解决任何情况下的全角、半角字符转化问题,有效的控制程序中出现全角半角问题。方法简单,易懂。

    java 全角半角转换

    java 全角半角转换 对角对全角的转换

    java正则表达式匹配全角空格

    本文将详细介绍如何使用Java中的`split()`方法,并结合正则表达式来处理全角空格和半角空格的问题。 #### 一、背景介绍 在处理文本数据时,经常会遇到不同类型的空格字符。除了最常见的半角空格(ASCII码为32)...

    半角转全角perl代码

    自然语言处理中的中文半角全角转换代码,可以用来自然语言

    C#365-半角全角转换源代码

    标题"C#365-半角全角转换源代码"表明这是一个关于如何在C#中进行半角和全角字符转换的代码示例。C#365可能是一个系列教程或者项目,旨在提供365天的学习内容,每天一个不同的主题,而这一天的主题就是半角全角转换。...

    PB中全角与半角互转函数

    ### PB中全角与半角互转函数 #### 背景介绍 在处理文本数据时,经常会遇到全角字符和半角字符的转换需求。全角和半角字符主要区别在于显示宽度不同:全角字符占用两个半角字符的空间。这种特性在东亚语言(如中文、...

    全角转半角,半角转全角,判断字符是否为全角

    通过对上述知识点的详细解析,我们可以了解到全角和半角字符之间的转换以及如何判断一个字符是否为全角字符的具体方法。这些方法在处理中英文混合文本时尤为重要,能够帮助开发者更高效地处理各种文本格式问题。此外...

    日文全角半角转化

    "日文全角半角转化" 日文全角半角转换是指将日文中的全角字符转换为半角字符或将半角...在 Java 中,我们可以使用多种方法来实现日文全角半角转换,包括使用 Unicode 代码点、Java 字符串处理函数和 third-party 库。

    对全角半角字符串的处理

    在计算机编程与数据处理领域中,全角和半角字符的区别及其转换是一项常见的需求。特别是在东亚语言环境中(如中文、日文、韩文等),这种转换对于文本处理至关重要。 #### 全角与半角的概念 1. **全角字符**:全角...

    postgres全角转半角函数.txt

    对postgresql数据库中不规则的数据批量处理查询,有些是全角的,需要转换查询,匹配,可以使用这个方法postgres全角转半角函数.txt

    Excel-VBA宏编程实例源代码-常规函数应用-数字半角与全角转换.zip

    总之,VBA宏提供了一种高效的方法来处理Excel中的半角和全角数字转换,通过学习和应用这种技术,你可以进一步提升在办公自动化领域的专业技能。这个压缩包中的源代码是一个很好的学习资源,可以帮助你理解并运用VBA...

    字符串的全角半角转换 java

    标题“字符串的全角半角转换 java”提示我们将讨论如何在Java中实现这种转换。下面是一个简单的Java类`BCConvert`,它提供了两个方法:`toDBC(String str)`(半角转全角)和`toDBC(String str)`(全角转半角)。 ``...

    全角半角转换,c++

    在IT领域,尤其是在编程语言C++中,全角与半角字符转换是一个常见的需求,尤其在处理东亚语言如中文、日语和韩语时。全角(Full-width)和半角(Half-width)字符的区别主要在于宽度和字符集。全角字符通常用于东亚...

    全角和半角的区别.docx

    全角和半角是计算机编程和输入法中两个重要概念,它们的区别对计算机用户和编程人员来说非常重要。在本文中,我们将详细介绍全角和半角的概念、区别和应用场景。 什么是全角和半角? 全角是指一个字符占用两个标准...

    全角半角字符串转换工具类Character.java

    全角转半角,半角转全角,全角半角字符串转换工具类Character.java

    java全角半角转换程序

    Java全角半角转换程序不仅展示了字符编码转换的基本原理,还提供了实际编程中可能遇到的挑战和解决方案。通过理解和掌握这些知识点,开发者可以更加灵活地处理不同场景下的字符编码问题,从而提升软件的国际化和用户...

    java全角、半角字符的关系以及转换详解

    半角和全角的关系很明显,除空格外的字符偏移量是65248(65281-33 = 65248)。 Java语言实现全角、半角之间的转换 了解了全半角字符之间的关系,下面我们来看看Java的实现。下面是一个将全角字符串转换为半角字符...

    javascript全角转换半角

    在中文环境下,全角和半角字符的应用非常广泛,特别是在文本处理、排版和网页设计等领域。 #### 全角与半角字符编码 在Unicode编码中,全角字符与半角字符有着固定的对应关系。例如,半角字符“A”的Unicode编码为...

Global site tag (gtag.js) - Google Analytics