js全角字符转为半角大写
- //全角字符转为半角
- function FullToDBC(Str) {
- var DBCStr = "";
- for(var i = 0; i < Str.length; i++){
- var c = Str.charCodeAt(i);
- if(c == 12288){
- DBCStr += String.fromCharCode(32);
- continue;
- }
- if(c > 65280 && c < 65375){
- DBCStr += String.fromCharCode(c - 65248);
- continue;
- }
- DBCStr += String.fromCharCode(c);
- }
- return DBCStr.toUpperCase();
- }
1. charCodeAt
返回指定索引位置的字符的Unicode值。
方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。
语法
stringObject.charCodeAt(index)
参数描述
index 必需。表示字符串中某个位置的数字,即字符在字符串中的下标。
注释:字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。
2. fromCharCode
将Unicode码转换为对应的字符并返回为字符串
语法
String.fromCharCode(numX,numX,...,numX)
实例
- document.write(String.fromCharCode(72,69,76,76,79))
- document.write(String.fromCharCode(65,66,67))
输出结果为:
- HELLO
- ABC
3. Unicode编码范围
c > 65280 && c < 65375 包括所有的英文字符以及各种字符
12288 是对空格的处理
减去65248 (c - 65248) 全角字符的unicode编码转换为对应半角字符的unicode码