判断字符串中只包含字母和数字
来源:互联网 发布:绝对争锋网络剧 编辑:程序博客网 时间:2024/05/16 12:49
最近做一个小小的项目,有输入用户名一项,要求只能输入字母和数字。
即在用户输入用户名后,要做一个关于用户名的合法判断:只包含字母和数字。
一开始以为这个超级简单啊,想都没想就直接使用了Java API中Character的isLetterOrDigit方法。以为什么问题都没有。
使用的是Character.isLetterOrDigit方法:
private boolean isLetterOrNumber(String string) {boolean flag = false;for (int i = 0; i < string.length(); i++) {if (Character.isLetterOrDigit(string.charAt(i))) {flag = true;} else {flag = false;return flag;}}return flag;}
结果发现输入中文字符的时候,也返回时true。例如,输入"惊呆了",返回true。
在进行追踪时,得到string.charAt(0) = 惊 ;然后在isLetterOrDigit中返回时,为true。
由于之前没有了解过,一下就呆住了。
后面了解到,由于Java提供了对Unicode的支持,因此中文也是Letter。
所以,使用Character.isLetter和Character.isLetterOrDigit方法的要注意啦,一不小心就掉进陷阱啦。
最后改为判断字符串中是否只含有大写字母小写字母和数字,解决问题。
private boolean isLetterOrDigits(String string) {boolean flag = false;for (int i = 0; i < string.length(); i++) {if (Character.isLowerCase(string.charAt(i))|| Character.isUpperCase(string.charAt(i))|| Character.isDigit(string.charAt(i))) {flag = true;} else {flag = false;return flag;}}return flag;}
0 0
- 判断字符串中只包含字母和数字
- 判断字符串只包含中文,字母,数字
- 判断字符串中是否仅包含字母数字和汉字
- 判断字符串中是否仅包含字母数字和汉字
- c++ 判断字符串只包含字母、数字、汉字
- c++ 判断字符串只包含字母、数字、汉字
- c++ 判断字符串只包含字母、数字、汉字
- c++ 判断字符串只包含字母、数字、汉字
- c++中判断字符串只包含字母数字汉字的算法
- 怎么判断字符串中是否包含一组字符的任意一个字符及判断字符串是否只含字母和数字
- Android中判断字符串中必须包含字母或者数字
- iOS判断字符串中包含数字和字母的几种情况
- iOS判断字符串中包含数字和字母的几种情况
- java中判断字符串是否为只包含数字
- 判断字符串中中只包含数字字母
- 判断字符串是否包含字母、数字、中文
- 判断字符串中只含有字母和问题
- java正则表达式判断是否只包含:数字、字母和汉字
- UITextField
- 面试复盘
- 日经春秋 20151020
- Android中layout_align****和setPadding方法整合
- 菜鸟之路-04
- 判断字符串中只包含字母和数字
- LintCode-最大数
- 黑马程序员——Java基础语法 之程序流程控制
- 高斯模糊效果实现方案及性能对比
- Win10与Ubuntu 15.04双系统安装方法
- Android报表解决方案 使用开源组件iChartjs(二)
- DOM对象
- OS X 10.11 中的安全删除文件
- 今日学习总结指针