[JavaScript] 全角英数字記号を半角に変換する方法
1 min read
デモ
方法
コード
function zenkaku2hankaku(val) {
var regex = /[A-Za-z0-9!"#$%&'()*+,-./:;<=>?@[\]^_`{|}]/g;
// 入力値の全角を半角の文字に置換
value = val
.replace(regex, function (s) {
return String.fromCharCode(s.charCodeAt(0) - 0xfee0);
})
.replace(/[‐-―]/g, "-") // ハイフンなど
.replace(/[~〜]/g, "~") // チルダ
.replace(/ /g, " "); // スペース
return value;
}
仕様
以下の全角文字をコードに従って半角に置き換える。
A\-Z
a\-z
0\-9
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}
以下をそれぞれに置換。
‐-―
→\-
~〜
→~
→