有的时候,我们没有限制用户输入的字母数字是半角或者全角。
但是默认一般各个系统在证件号码方面全部都是半角的(数字和字母,是AS编码,占一个字节)。所以当用户输入全角的字母和数字的时候,我们需要处理一下,提示它错误,或者后台自动给他把全角改成半角。

半角:N,1,我
全角:N,1,我

代码转换

//全角转为半角public static String full2Half(String string) {if (isEmpty(string)) {return string;}char[] charArray = string.toCharArray();for (int i = 0; i < charArray.length; i++) {if (charArray[i] == 12288) {charArray[i] =' ';} else if (charArray[i] >= ' ' &&charArray[i]  <= 65374) {charArray[i] = (char) (charArray[i] - 65248);} else {}}return new String(charArray);}

半角转为全角

/*** this is used to convert half to full-widths charaters.* @Title: half2Full* @param value input value* @return converted value*/public static String half2Full(String value) {if (isEmpty(value)) {return "";}char[] cha = value.toCharArray();/*** full blank space is 12288, half blank space is 32* others :full is 65281-65374,and half is 33-126.*/for (int i = 0; i < cha.length; i++) {if (cha[i] == 32) {cha[i] = (char) 12288;} else if (cha[i] < 127) {cha[i] = (char) (cha[i] + 65248);}}return new String(cha);}/*** @Description: check whether is empty.* @Title: isEmpty* @param str input string* @return whether the input is empty*/public static boolean isEmpty(String str) {return str == null || str.length() == 0;

相关知识

A 什么是全角和半角?
(1)全角–指一个字符占用两个标准字符位置。
汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。

(2)半角–指一字符占用一个标准的字符位置。
通常的英文字母、数字键、符号键都是半角的,半角的显示内码都是一个字节。在系统内部,以上三种字符是作为基本代码处理的,所以用户输入命令和参数时一般都使用半角。

B 全角与半角各在什么情况下使用?
全角占两个字节,半角占一个字节。
半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个字节。
在编程序的源代码中只能使用半角标点(不包括字符串内部的数据)
在不支持汉字等语言的计算机上只能使用半角标点(其实这种情况根本就不存在半角全角的概念)

对于大多数字体来说,全角看起来比半角大,当然这不是本质区别了。

C 全角和半角的区别
全角就是字母和数字等与汉字占等宽位置的字。半角就是ASCII方式的字符,在没有汉字输入法起做用的时候输入的字母数字和字符都是半角的。

在汉字输入法出现的时候,输入的字母数字默认为半角,但是标点则是默认为全角,可以通过鼠标点击输入法工具条上的相应按钮来改变。

D 关于“全角”和“半角”:
全角:是指中GB2312-80(《信息交换用汉字编码字符集·基本集》)中的各种符号。
半角:是指英文件ASCII码中的各种符号。

字母和数字半角和全角的问题相关推荐

  1. python 识别汉字、数字、字母,实现半角及全角之间的转换

    去除标点符号: re.sub text = "电影<2012>讲述了2012年12月21日的世界末日,主人公Jack以及世界各国人民挣扎求生的经历,灾难面前,尽现人间百态.&qu ...

  2. unicode中文 数字 英文 半角和全角判断

    unicode 字符展示:http://www.52unicode.com/ 在线转换网站:https://www.matools.com/code-convert-unicode 下面这个小工具包含 ...

  3. python中英文半角还是全角_Python3全角转半角的方法

    相信大家都对全角半角的概念已经有所了解了.中文文字永远是全角,只有英文字母.数字键.符号键才有全角半角的概念,一个字母或数字占一个汉字的位置叫全角,占半个汉字的位置叫半角.标点符号在中英文状态下.全半 ...

  4. 全角转半角与半角转全角

    1.全角:指一个字符占用两个标准字符位置.汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符.一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符. ...

  5. 半角和全角的区别 java_全角和半角的区别是什么

    全角和半角的主要区别是输入效果不一样.字体宽度不一样.所占字节不一样.全角在输入时字母会变粗变大,它会占用两个字节,而半角的字体要更窄,它只占用一个字节,如果用半角和全角分别输入一串数字,就可以明显的 ...

  6. 输入法中半角与全角的区别

    在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角".在汉字输入时,系统提供&quo ...

  7. 半角与全角、简繁体中文字符串互相转化

    imports Microsoft.VisualBasic dim s as string= "苹果软件工作室" s = Strings.StrConv(s, VbStrConv. ...

  8. java 日文片假名半角转全角_日文 全角/半角 平假名/片假名 的转换

    (1)使用 ICU4J String src = "AaAアいろはアイウエイウエ"; //全角文字→半角文字に変換 Transliterator trF2H = Translite ...

  9. python中英文半角还是全角_如何理解python3的unicode,以及全角半角转换

    匿名用户 1级 2017-11-06 回答 1. unicode是一个编码的standard,表明了字符与数字之间的映射,是可变长的. 2. 映射后的数据如何编码为字节?这个就是具体的编码规则:目前最 ...

最新文章

  1. 如何做到尽可能不使用庞大的jQuery
  2. 什么时候使用Java的@Override注释,为什么?
  3. 【Java代码】京东商品全部分类数据获取(建表语句+Jar包依赖+树结构封装+爬虫源代码)包含csv和sql格式数据下载可用
  4. Quartz.NET总结(四)Quartz 远程调度
  5. 外设驱动库开发笔记31:S-Modlue远红外气体传感器驱动
  6. 安卓为什么卡及其解决方案
  7. opencv-python版本问题
  8. Android混淆和加固详解
  9. python 自然语言处理(四)____词典资源
  10. ssim算法计算图片_OpenCV 实现图像结构相似度算法 (SSIM 算法)
  11. 简单破解闪电视频转换王
  12. python 计算字符串表达式_python计算数学表达式
  13. SYN重要知识点总结
  14. win10如何共享打印机_局域网内,办公室USB接口打印机如何共享
  15. 小米系列手机 开发者版本 之 USB安装出现当前设备已被临时限制
  16. 【Web前端HTML5CSS3】12-字体
  17. word怎么取消目录
  18. 站立者的心,只有努力努力再努力
  19. 查看并修改Linux主机名命令hostname
  20. 提高pyautogui识图率的优化方案

热门文章

  1. 生活篇之工资和年终奖的纳税
  2. Linux下xmms
  3. Centos 5.4下的编译安装 xmms 和 mplayer
  4. 错失项目汇报机会是一种罪过
  5. java swing 大球吃小球游戏 功能完善 完整代码 下载即可以运行
  6. Final Cut Pro导出视频「下」
  7. 【论文翻译】Clustering by Passing Messages Between Data Points
  8. P1209 [USACO1.3]修理牛棚 Barn Repair(贪心)
  9. 医院在线问诊源码 医院视频问诊源码 医院小程序源码
  10. C语言 | 链表的建立和剔除