社区
JavaScript
帖子详情
请大虾给个判断全角半角字符的正则表达式
oldfisher
2002-09-18 01:37:48
我发现很多人推荐的
只能输入全角的:
<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))">
并不好使
还有 谁能解释下全角半角,汉字西文的字码范围?
谢谢!
...全文
3770
14
打赏
收藏
请大虾给个判断全角半角字符的正则表达式
我发现很多人推荐的 只能输入全角的: 并不好使 还有 谁能解释下全角半角,汉字西文的字码范围? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
方工
2002-09-29
打赏
举报
回复
正则表达式中的\u 后面跟的是以四个十六进制数字表示的unicode字符值
实际应用中大多数情况下没有必要检测输入的是全角还是半角字符,在需要限定输入值必须为数字的时候进行校验就可以了。本来汉字的123和就不能当作数字123使用,
例如
var n = 123; // ok
var n = 123; // 错误
再例
如果要用正则表达式测试字符串是否为10,100,088,990.90格式(规定最多两位小数)
str = "10,100,088,990.90";
re=/^[1-9]\d{0,2}(,\d{3})*(\.\d{1,2})?$/;
if(str.match(re)) alert("合法数字");
else alert("对不起,数字格式不合法.");
oldfisher
2002-09-29
打赏
举报
回复
多谢各位指点 不胜感激!
特意把帖子分数加到100以表感谢
/[\uFF00-\uFFFF]/
半角 Z: 90 全角 Z: 65338
charCodeAt(0)>0xff00
这里边的字码如 u,0x,都是什么意思?
to qiushuiwuhen(秋水无恨) 你给的那段代码只能判断字母
我输入汉字就不行了
/[\u0000-\u00FF]/ 半角符号 /[\u4E00-\u9FA5]/ 汉字
/[\uFF00-\uFFFF]/ 全角符号
如按这个范围 汉字和全角字符就没什么关系了
全角半角就是那256个ASCII码的两种状态?
欢迎讨论,马上结贴给分
分不够 我再开贴给分好不好?
qiushuiwuhen
2002-09-27
打赏
举报
回复
<script>
function check(str){
return str.charCodeAt(0)>0xff00
}
alert(check("a"))
alert(check("a"))
</script>
方工
2002-09-27
打赏
举报
回复
<script>
var str1="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var str2="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
alert(str1.length + "?" + str2.length);
var str="";
for(i=0;i<str1.length;i++){
str += "半角 " + str1.charAt(i) + ": " + str1.charCodeAt(i) + " 全角 " + str2.charAt(i) + ": " + str2.charCodeAt(i) +"<br>";
}
document.write(str);
</script>
输出:
半角 a: 97 全角 a: 65345
半角 b: 98 全角 b: 65346
半角 c: 99 全角 c: 65347
半角 d: 100 全角 d: 65348
半角 e: 101 全角 e: 65349
半角 f: 102 全角 f: 65350
半角 g: 103 全角 g: 65351
半角 h: 104 全角 h: 65352
半角 i: 105 全角 i: 65353
半角 j: 106 全角 j: 65354
半角 k: 107 全角 k: 65355
半角 l: 108 全角 l: 65356
半角 m: 109 全角 m: 65357
半角 n: 110 全角 n: 65358
半角 o: 111 全角 o: 65359
半角 p: 112 全角 p: 65360
半角 q: 113 全角 q: 65361
半角 r: 114 全角 r: 65362
半角 s: 115 全角 s: 65363
半角 t: 116 全角 t: 65364
半角 u: 117 全角 u: 65365
半角 v: 118 全角 v: 65366
半角 w: 119 全角 w: 65367
半角 x: 120 全角 x: 65368
半角 y: 121 全角 y: 65369
半角 z: 122 全角 z: 65370
半角 A: 65 全角 A: 65313
半角 B: 66 全角 B: 65314
半角 C: 67 全角 C: 65315
半角 D: 68 全角 D: 65316
半角 E: 69 全角 E: 65317
半角 F: 70 全角 F: 65318
半角 G: 71 全角 G: 65319
半角 H: 72 全角 H: 65320
半角 I: 73 全角 I: 65321
半角 J: 74 全角 J: 65322
半角 K: 75 全角 K: 65323
半角 L: 76 全角 L: 65324
半角 M: 77 全角 M: 65325
半角 N: 78 全角 N: 65326
半角 O: 79 全角 O: 65327
半角 P: 80 全角 P: 65328
半角 Q: 81 全角 Q: 65329
半角 R: 82 全角 R: 65330
半角 S: 83 全角 S: 65331
半角 T: 84 全角 T: 65332
半角 U: 85 全角 U: 65333
半角 V: 86 全角 V: 65334
半角 W: 87 全角 W: 65335
半角 X: 88 全角 X: 65336
半角 Y: 89 全角 Y: 65337
半角 Z: 90 全角 Z: 65338
oldfisher
2002-09-27
打赏
举报
回复
这里没有高人吗?
oldfisher
2002-09-18
打赏
举报
回复
大家可以看一下
上面的字母a有全角半角的分别
问一下:在存储时全角的a用几个字节?
全角半角的汉字又如何处置的?
我该如何判断他们是全角还是半角的呢?
oldfisher
2002-09-18
打赏
举报
回复
谢谢!
你把ASCII码以外的字符都归为两个字节长,
java中是这样处理的吗?
那我如何判断输入的字符是全角半角的呢
全角 半角
a a
汉字 汉字
qiushuiwuhen
2002-09-18
打赏
举报
回复
<script language=javascript>
function check(str){
var ret=str.length
try{ret+=str.match(/[^\x00-\xff]/g).length}catch(e){}
alert(ret)
}
</script>
<TEXTAREA NAME="aa" ROWS="10" COLS="60">中文Abc</TEXTAREA>
<INPUT TYPE="button" NAME="bb" onclick='check(aa.value);' value="测试">
oldfisher
2002-09-18
打赏
举报
回复
/[\u0000-\u00FF]/ 半角符号 就是那256个ASCII码吧
/[\uFF00-\uFFFF]/ 全角符号
uFF00-uFFFF 这中间只有256个字符 全角字符就这几个吗?
我们用输入法时,不是有全角半角状态之分吗?
还有 java中用两个字节存放汉字,一个字节存放ASCII码
那对于全角,半角字符又分别用几个字节?
请指教
在java中计算字符串的长度是按字符个数而不是按存储长度来计算的
String str = "汉字";
int len = str.length();//len==2;
那计算字符串的存储长度时需判断每个字符是汉字,还是西文,
是全角,还是半角的了
qiushuiwuhen
2002-09-18
打赏
举报
回复
/[\u0000-\u00FF]/ 半角符号
/[\u4E00-\u9FA5]/ 汉字
/[\uFF00-\uFFFF]/ 全角符号
qiushuiwuhen
2002-09-18
打赏
举报
回复
/[\x00-\uFF]/ 符号
/[\u4E00-\u9FA5]/ 汉字
/[\uFF00-\uFFFF]/ 全角符号
方工
2002-09-18
打赏
举报
回复
全角字符比如java JAVA实际上就是汉字,我想已经包含在汉字范围内了。
半角 java JAVA 就是ASCII码。
实际上没有什么全角半角之分。谁见过有半角的汉字?
oldfisher
2002-09-18
打赏
举报
回复
谢谢 全角半角的呢?
全角半角 和 汉字的字码范围谁的大,还是有交集?
还是需要全角的编码范围才能判断
请大虾们告知
方工
2002-09-18
打赏
举报
回复
/[\u4E00-\u9FA5]/ 汉字范围
正则表达式
编写帮助工具RegexBuddy V3.1.0
编写
正则表达式
的工具。很好用。跟“深入浅出
正则表达式
”这篇文档配套,学习
正则表达式
更强大,更和谐
深入浅出之
正则表达式
很好的,别人对
正则表达式
编写工具RegexBuddy的翻译文档,不大,几十k 很适合入门。
正则表达式
验证工具
在eclipse等java开发工具中写CSS的验证检查工具。很好的
C# 中常用
正则表达式
大全
包含数字、
字符
、特殊表达式的验证
正则表达式
30分钟入门教程
看看很好,就是一个文档。很好,不大很适合入门
JavaScript
87,901
社区成员
224,618
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章