确认字符串里只包括英文字数字及符号

cscxxx 2012-11-02 11:00:26
因为想确认字符串里只包括英文字数字及符号,作用是區別出不是英文字数字及符号的其他語言及全角字符,請教該怎麼做?
自己想了一個用正則表達式似乎可以達到:
[0-9a-zA-Z!@#$%^&*()_+-=<>?,./:\"'|{}\\[\\]]*
想知道還有其他方法嗎?利用API?
...全文
164 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
adobe2000 2012-11-02
  • 打赏
  • 举报
回复
把他转换成2进制流,判断每个数字的值,Ascii中大写字母的值65-90,小写字母97-122,数字48-57,
MiceRice 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
哦,对了,你要用正则,那么应该可以:
str.matches("[\\x32-\\x7E]*");
[/Quote]

又打错字了。。。
str.matches("[\\x20-\\x7E]*");
MiceRice 2012-11-02
  • 打赏
  • 举报
回复
哦,对了,你要用正则,那么应该可以:
str.matches("[\\x32-\\x7E]*");
MiceRice 2012-11-02
  • 打赏
  • 举报
回复
粗放式检查的话:字符串中每个字符(或byte也行)的值,<127 就差不多了;如果还要排除某些控制字符,比如:回车、换行、退格之类的,可以再加上 >=32 的要求。

即取值范围是:[32, 127)
PPS柴油 2012-11-02
  • 打赏
  • 举报
回复

ANSI大于255
q1531 2012-11-02
  • 打赏
  • 举报
回复
[\w\p{Punct}]

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧