![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIT5rqKjXZjwY_rdhpzrbjl6Q-pu5P5hzhxjFhWj6d-wWeQo4OPeK4v5b80XjDCII5fwxxPjvxoIMe4wVtwe-hOnJu24LQjDAJi_CJOfsrKfs7oS05tZa4U50n2mk7CcghY8h492S8CjBDrSZ_L-4HEKxrXkMtxBDH52G4tHXtkmrxOYEXUY8Rha5P/s1600/javascript.png)
データベースへの登録時に、文字列の中に全角英数字を半角に変換したい時などに使えます。
[関数] 英数字を半角、全角変換
全角→半角
function h2z(str) {
return str.replace(/[A-Za-z0-9]/g, (s =>{return String.fromCharCode(s.charCodeAt(0) + 0xFEE0)}))
}
全角→半角
function z2h(str) {
return str.replace(/[A-Za-z0-9]/g, (s =>{return String.fromCharCode(s.charCodeAt(0) - 0xFEE0)}))
}
[おまけ関数] 英字を半角、全角変換
半角→全角
function h2z(str) {
return str.replace(/[A-Za-z]/g, (s =>{return String.fromCharCode(s.charCodeAt(0) + 0xFEE0)}))
}
全角→半角
function z2h(str) {
return str.replace(/[A-Za-z]/g, (s =>{return String.fromCharCode(s.charCodeAt(0) - 0xFEE0)}))
}
[おまけ関数] 数字を半角、全角変換
半角→全角
function h2z(str) {
return str.replace(/[0-9]/g, (s =>{return String.fromCharCode(s.charCodeAt(0) + 0xFEE0)}))
}
全角→半角
function z2h(str) {
return str.replace(/[0-9]/g, (s =>{return String.fromCharCode(s.charCodeAt(0) - 0xFEE0)}))
}