最近發現客戶在輸入序列號時,經常輸入圓角。導致下載不了應用。下面這段js可以將圓角字符轉成半角,將半角轉成圓角。
原理很簡單,就兩條:
1、全角空格為12288,半角空格為 32
2、其他字符半角(33-126)與全角 (65281-65374)的對應關系是:均相差65248
故代碼如下:
//半角轉換為全角函數
function ToDBC(txtstring) {
var tmp = "";
for (var i = 0; i < txtstring.length; i++) {
if (txtstring.charCodeAt(i) == 32) {
tmp = tmp + String.fromCharCode(12288);
}
if (txtstring.charCodeAt(i) < 127) {
tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248);
}
}
return tmp;
}
//全角轉換為半角函數
function ToCDB(str) {
var tmp = "";
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 65248 && str.charCodeAt(i) < 65375) {
tmp += String.fromCharCode(str.charCodeAt(i) - 65248);
}
else {
tmp += String.fromCharCode(str.charCodeAt(i));
}
}
return tmp
}
