tagami-mio
1/30/2020 - 9:27 AM

checkSemitoneAndSymbol

与えられた文字が半音あるいは記号(句読点)であるかどうかを判定する

/**
 * 与えられた文字が半音あるいは記号(句読点)であるかどうかを判定する
 * @param {String} text 判定したい文字
 * @returns {String} 文字種を示すテキスト
 */
export default function checkSemitoneAndSymbol(text) {
  const semitoneHira = /[\u{3041}\u{3043}\u{3045}\u{3047}\u{3049}\u{3063}\u{3083}\u{3085}\u{3087}\u{308E}\u{3095}\u{3096]/mu
  const semitoneKata = /[\u{30A1}\u{30A3}\u{30A5}\u{30A7}\u{30A9}\u{30C3}\u{30E3}\u{30E5}\u{30E7}\u{30EE}\u{30F5}\u{30F6]/mu
  const symbol = /[\u{3001}-\u{3002}]/mu

  if (semitoneHira.test(text) || semitoneKata.test(text) || symbol.test(text))
    return true

  return false
}