カタカナから数字へ変換
"カタカナ"から数字へ変換するには、次のような方法で可能です。
- ※ 半角カタカナには対応していません。
関数定義
JavaScript (ES5)
/**
* カタカナから数字へ変換
* @param {string} str 変換対象の文字列
* @return {string} 変換した文字列を返す
*/
var kanaToNumber = function(str) {
if (!str) return str;
var patterns = {
0 : /(ゼロ|レイ|マル|オー)/,
1 : /(イチ|ヒト)/,
2 : /(ニ|フタ)/,
3 : /サン/,
7 : /(ナナ|シチ)/,
4 : /(シ|ヨン)/,
5 : /ゴ/,
6 : /ロク/,
8 : /ハチ/,
9 : /(キュウ|キュー|ク)/,
10 : /(ジュウ|テン|トウ)/
};
for (var number in patterns) {
str = str.replace(patterns[number], number);
}
return str;
};
JavaScript (ES8以降)
/**
* カタカナから数字へ変換
* @param {string} str 変換対象の文字列
* @returns {string} 変換した文字列を返す
*/
const kanaToNumber = str => {
if (!str) return str;
const patterns = {
0 : /(ゼロ|レイ|マル|オー)/,
1 : /(イチ|ヒト)/,
2 : /(ニ|フタ)/,
3 : /サン/,
4 : /(シ(?!チ)|ヨン)/,
5 : /ゴ/,
6 : /ロク/,
7 : /(ナナ|シチ)/,
8 : /ハチ/,
9 : /(キュウ|キュー|ク)/,
10 : /(ジュウ|テン|トウ)/
};
for (const [number, pattern] of Object.entries(patterns)) {
str = str.replace(pattern, number);
}
return str;
};
使い方
JavaScript (ES5)
var result = kanaToNumber( string );
JavaScript (ES8以降)
const result = kanaToNumber( string );
引数
引数名 | 型 | 初期値 | 説明 | |
---|---|---|---|---|
第一引数 必須 |
string | string | 数字へ変換する文字が含まれる文字列 (変換元の文字列) |
戻り値
数字へ変換された文字列を返します。
サンプルコード
JavaScript (ES5)
var testStr = 'イチニサンシゴ';
var result = kanaToNumber(testStr);
alert(result); // 12345
JavaScript (ES8以降)
const testStr = 'イチニサンシゴ';
const result = kanaToNumber(testStr);
console.log(result); // 12345