export const NUMBER = { "零": 0, "〇": 0, "一": 1, "二": 2, "三": 3, "四": 4, "五": 5, "六": 6, "七": 7, "八": 8, "九": 9, "十": 10, }; export const WEEKDAY_OFFSET = { "日": 0, "月": 1, "火": 2, "水": 3, "木": 4, "金": 5, "土": 6, }; /** * to-hankaku.js * convert to ascii code strings. * * @version 1.0.1 * @author think49 * @url https://gist.github.com/964592 * @license http://www.opensource.org/licenses/mit-license.php (The MIT License) */ export function toHankaku(text) { return String(text) .replace(/\u2019/g, "\u0027") .replace(/\u201D/g, "\u0022") .replace(/\u3000/g, "\u0020") .replace(/\uFFE5/g, "\u00A5") .replace( /[\uFF01\uFF03-\uFF06\uFF08\uFF09\uFF0C-\uFF19\uFF1C-\uFF1F\uFF21-\uFF3B\uFF3D\uFF3F\uFF41-\uFF5B\uFF5D\uFF5E]/g, alphaNum ); } function alphaNum(token) { return String.fromCharCode(token.charCodeAt(0) - 65248); } export function jaStringToNumber(text: string) { let number = 0; for (let i = 0; i < text.length; i++) { const char = text[i]; if (char === "十") { number = number === 0 ? NUMBER[char] : number * NUMBER[char]; } else { number += NUMBER[char]; } } return number; }