Open4
全銀テレ為替文字の正確な文字コード
記号
Unicode名称 | 半角 | 全角 | NFKC変換後 |
---|---|---|---|
SPACE |
(U+0020) |
(U+3000) |
半角 |
LEFT PARENTHESIS |
( (U+0028) |
( (U+FF08) |
半角 |
RIGHT PARENTHESIS |
) (U+0029) |
) (U+FF09) |
半角 |
COMMA |
, (U+002C) |
, (U+FF0C) |
半角 |
HYPHEN-MINUS |
- (U+002D) |
- (U+FF0D) |
半角 |
FULL STOP |
. (U+002E) |
. (U+FF0E) |
半角 |
SOLIDUS |
/ (U+002F) |
/ (U+FF0F) |
半角 |
YEN SIGN |
¥ (U+00A5) |
¥ (U+FFE5) |
半角 |
LEFT CORNER BRACKET |
「 (U+FF62) |
「 (U+300C) |
全角 |
RIGHT CORNER BRACKET |
」 (U+FF63) |
」 (U+300D) |
全角 |
KATAKANA-HIRAGANA PROLONGED SOUND MARK |
ー (U+FF70) |
ー (U+30FC) |
全角 |
KATAKANA-HIRAGANA VOICED SOUND MARK |
゙ (U+FF9E) |
゛ (U+309B) |
全角 |
KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK |
゚ (U+FF9F) |
゜ (U+309C) |
全角 |
全角カタカナ
- カタカナ46文字:
アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン
- 濁音カタカナ20文字:
ガギグゲゴザジズゼゾダヂヅデドバビブベボ
- 半濁音カタカナ5文字:
パピプペポ
- 特殊カタカナ1文字:
ヴ
特殊カタカナとして「ヴ」だけが利用可能な理由として、Shift_JIS (JIS X 0208)に含まれているためと予想される。
「ヷ」、「ヺ」はUnicodeには存在するがNG。
半角カタカナ
- カタカナ46文字:
アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン
- 濁音・半濁音カタカナ: Unicodeに存在しない(記号の半角 濁音 (U+FF9E)、半濁音 (U+FF9F)を付ける)
結合文字の場合
結合文字の濁点 (U+3099)、半濁点 (U+309A)はNG
数字
- 半角10文字:
0123456789
(U+0030 - U+0039) - 全角10文字:
0123456789
(U+FF10 - U+FF19)
アルファベット大文字
- 半角26文字:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
(U+0041 - U+005A) - 全角26文字:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
(U+FF21 - U+FF3A)
アルファベット小文字
NG
結合文字のノーマライズ
結合文字( バ
(U+30CF U+3099))を合成文字( バ
(U+30D0))に変換するため String.normalize()
を行うことが望ましい。
ただし String.normalize("NFKC")
は、合成文字が存在しない濁音記号( A゛
(U+0041 U+309B) など)を ゛
(U+309B) から ゙
(U+0020 U+3099) に変換してしまうため使用しない方がいい。
正規表現
const allowedChars = [
"0123456789",
"0123456789",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポヴ",
"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン",
" (),-./¥「」ー゙゚",
" (),-./¥「」ー゛゜",
];
const allowedCharsRegex = new RegExp(`^[${allowedChars.join("")}]*$`);
allowedCharsRegex.test("テスト".normalize()); // true
allowedCharsRegex.test("テスト!".normalize()); // false