カタカナから数字へ変換

"カタカナ"から数字へ変換するには、次のような方法で可能です。

  • ※ 半角カタカナには対応していません。

関数定義

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

JavaScript逆引きリファレンス一覧へ戻る