08/17: 文字の正規表現
入力チェック等でよく使う正規表現なので、備忘録として記載してあります。
表示の都合で¥は全角に置き換えています。コピペする場合はご注意ください
出典「Perlメモ http://www.din.or.jp/~ohzaki/perl.htm」
# 半角スペース
$space = '¥x20';
# 全角スペース
$Zspace = '(?:¥xA1¥xA1)'; # EUC-JP
$Zspace_sjis = '(?:¥x81¥x40)'; # SJIS
# 全角数字 [0-9]
$Zdigit = '(?:¥xA3[¥xB0-¥xB9])'; # EUC-JP
$Zdigit_sjis = '(?:¥x82[¥x4F-¥x58])'; # SJIS
# 全角大文字 [A-Z]
$Zuletter = '(?:¥xA3[¥xC1-¥xDA])'; # EUC-JP
$Zuletter_sjis = '(?:¥x82[¥x60-¥x79])'; # SJIS
# 全角小文字 [a-z]
$Zlletter = '(?:¥xA3[¥xE1-¥xFA])'; # EUC-JP
$Zlletter_sjis = '(?:¥x82[¥x81-¥x9A])'; # SJIS
# 全角アルファベット [A-Za-z]
$Zalphabet = '(?:¥xA3[¥xC1-¥xDA¥xE1-¥xFA])'; # EUC-JP
$Zalphabet_sjis = '(?:¥x82[¥x60-¥x79¥x81-¥x9A])'; # SJIS
# 全角ひらがな [ぁ-ん]
$Zhiragana = '(?:¥xA4[¥xA1-¥xF3])'; # EUC-JP
$Zhiragana_sjis = '(?:¥x82[¥x9F-¥xF1])'; # SJIS
# 全角ひらがな(拡張) [ぁ-ん゛゜ゝゞ]
$ZhiraganaExt = '(?:¥xA4[¥xA1-¥xF3]|¥xA1[¥xAB¥xAC¥xB5¥xB6])'; # EUC-JP
$ZhiraganaExt_sjis = '(?:¥x82[¥x9F-¥xF1]|¥x81[¥x4A¥x4B¥x54¥x55])'; # SJIS
# 全角カタカナ [ァ-ヶ]
$Zkatakana = '(?:¥xA5[¥xA1-¥xF6])'; # EUC-JP
$Zkatakana_sjis = '(?:¥x83[¥x40-¥x96])'; # SJIS
# 全角カタカナ(拡張) [ァ-ヶ・ーヽヾ]
$ZkatakanaExt = '(?:¥xA5[¥xA1-¥xF6]|¥xA1[¥xA6¥xBC¥xB3¥xB4])'; # EUC-JP
$ZkatakanaExt_sjis = '(?:¥x83[¥x40-¥x96]|¥x81[¥x45¥x5B¥x52¥x53])'; # SJIS
# 半角カタカナ [ヲ-゜]
$Hkatakana = '(?:¥x8E[¥xA6-¥xDF])'; # EUC-JP
$Hkatakana_sjis = '[¥xA6-¥xDF]'; # SJIS
# EUC-JP文字
$ascii = '[¥x00-¥x7F]'; # 1バイト EUC-JP文字
$twoBytes = '(?:[¥x8E¥xA1-¥xFE][¥xA1-¥xFE])'; # 2バイト EUC-JP文字
$threeBytes = '(?:¥x8F[¥xA1-¥xFE][¥xA1-¥xFE])'; # 3バイト EUC-JP文字
$character = "(?:$ascii|$twoBytes|$threeBytes)"; # EUC-JP文字
# EUC-JP文字(機種依存文字・未定義領域・3バイト文字を含まない)
$character_strict = '(?:[¥x00-¥x7F]|' # ASCII
. '¥x8E[¥xA1-¥xDF]|' # 半角カタカナ
. '[¥xA1¥xB0-¥xCE¥xD0-¥xF3][¥xA1-¥xFE]|' # 1,16-46,48-83区
. '¥xA2[¥xA1-¥xAE¥xBA-¥xC1¥xCA-¥xD0¥xDC-¥xEA¥xF2-¥xF9¥xFE]|' # 2区
. '¥xA3[¥xB0-¥xB9¥xC1-¥xDA¥xE1-¥xFA]|' # 3区
. '¥xA4[¥xA1-¥xF3]|' # 4区
. '¥xA5[¥xA1-¥xF6]|' # 5区
. '¥xA6[¥xA1-¥xB8¥xC1-¥xD8]|' # 6区
. '¥xA7[¥xA1-¥xC1¥xD1-¥xF1]|' # 7区
. '¥xA8[¥xA1-¥xC0]|' # 8区
. '¥xCF[¥xA1-¥xD3]|' # 47区
. '¥xF4[¥xA1-¥xA6])'; # 84区
# EUC-JP未定義文字(機種依存文字・3バイト文字を含む)
$character_undef = '(?:[¥xA9-¥xAF¥xF5-¥xFE][¥xA1-¥xFE]|' # 9-15,85-94区
. '¥x8E[¥xE0-¥xFE]|' # 半角カタカナ
. '¥xA2[¥xAF-¥xB9¥xC2-¥xC9¥xD1-¥xDB¥xEB-¥xF1¥xFA-¥xFD]|' # 2区
. '¥xA3[¥XA1-¥xAF¥xBA-¥xC0¥xDB-¥xE0¥xFB-¥xFE]|' # 3区
. '¥xA4[¥xF4-¥xFE]|' # 4区
. '¥xA5[¥xF7-¥xFE]|' # 5区
. '¥xA6[¥xB9-¥xC0¥xD9-¥xFE]|' # 6区
. '¥xA7[¥xC2-¥xD0¥xF2-¥xFE]|' # 7区
. '¥xA8[¥xC1-¥xFE]|' # 8区
. '¥xCF[¥xD4-¥xFE]|' # 47区
. '¥xF4[¥xA7-¥xFE]|' # 84区
. '¥x8F[¥xA1-¥xFE][¥xA1-¥xFE])'; # 3バイト文字
# SJIS文字
$oneByte_sjis = '[¥x00-¥x7F¥xA1-¥xDF]'; # 1バイト SJIS文字
$twoBytes_sjis =
'(?:[¥x81-¥x9F¥xE0-¥xFC][¥x40-¥x7E¥x80-¥xFC])'; # 2バイト SJIS文字
$character_sjis = "(?:$oneByte_sjis|$twoBytes_sjis)"; # SJIS文字
# SJIS文字(機種依存文字・未定義領域を含まない)
$character_sjis_strict = '(?:[¥x00-¥x7F¥xA1-¥xDF]|' # ASCII,半角カタカナ
. '[¥x89-¥x97¥x99-¥x9F¥xE0-¥xE9][¥x40-¥x7E¥x80-¥xFC]|' # 17-46,49-82区
. '¥x81[¥x40-¥x7E¥x80-¥xAC¥xB8-¥xBF¥xC8-¥xCE¥xDA-¥xE8¥xF0-¥xF7¥xFC]|' # 1,2区
. '¥x82[¥x4F-¥x58¥x60-¥x79¥x81-¥x9A¥x9F-¥xF1]|' # 3,4区
. '¥x83[¥x40-¥x7E¥x80-¥x96¥x9F-¥xB6¥xBF-¥xD6]|' # 5,6区
. '¥x84[¥x40-¥x60¥x70-¥x7E¥x80-¥x91¥x9F-¥xBE]|' # 7,8区
. '¥x88[¥x9F-¥xFC]|' # 15,16区
. '¥x98[¥x40-¥x72¥x9F-¥xFC]|' # 47,48区
. '¥xEA[¥x40-¥x7E¥x80-¥xA4])'; # 83,84区
# SJIS未定義文字(機種依存文字を含む)
$character_sjis_undef =
'(?:[¥x85-¥x87¥xEB-¥xFC][¥x40-¥x7E¥x80-¥xFC]|' # 9-14,85-120区
. '¥x81[¥xAD-¥xB7¥xC0-¥xC7¥xCF-¥xD9¥xE9-¥xEF¥xF8-¥xFB]|' # 1,2区
. '¥x82[¥x40-¥x4E¥x59-¥x5F¥x7A-¥x7E¥x80¥x9B-¥x9E¥xF2-¥xFC]|' # 3,4区
. '¥x83[¥x97-¥x9E¥xB7-¥xBE¥xD7-¥xFC]|' # 5,6区
. '¥x84[¥x61-¥x6F¥x92-¥x9E¥xBF-¥xFC]|' # 7,8区
. '¥x88[¥x40-¥x7E¥x80-¥x9E]|' # 15,16区
. '¥x98[¥x73-¥x7E¥x80-¥x9E]|' # 47,48区
. '¥xEA[¥xA5-¥xFC])'; # 83,84区
# iモード対応 絵文字
$iPictograph_base = '(?:¥xF8[¥x9F-¥xFC]|' # 基本絵文字(SJIS)
. '¥xF9[¥x40-¥x49¥x50-¥x52¥x55-¥x57¥x5B-¥x5E¥x72-¥x7E¥x80-¥xB0])';
$iPictograph_ext = '(?:¥xF9[¥xB1-¥xFC])'; # 拡張絵文字(SJIS)
$iPictograph =
'(?:$iPictograph_base|$iPictograph_ext)'; # iモード対応 絵文字(SJIS)
# メールアドレス
str.match(/^[A-Za-z0-9]+[¥w¥.-]+[¥w]+@[¥w¥.-]+¥.¥w{2,}$/)
表示の都合で¥は全角に置き換えています。コピペする場合はご注意ください
出典「Perlメモ http://www.din.or.jp/~ohzaki/perl.htm」
# 半角スペース
$space = '¥x20';
# 全角スペース
$Zspace = '(?:¥xA1¥xA1)'; # EUC-JP
$Zspace_sjis = '(?:¥x81¥x40)'; # SJIS
# 全角数字 [0-9]
$Zdigit = '(?:¥xA3[¥xB0-¥xB9])'; # EUC-JP
$Zdigit_sjis = '(?:¥x82[¥x4F-¥x58])'; # SJIS
# 全角大文字 [A-Z]
$Zuletter = '(?:¥xA3[¥xC1-¥xDA])'; # EUC-JP
$Zuletter_sjis = '(?:¥x82[¥x60-¥x79])'; # SJIS
# 全角小文字 [a-z]
$Zlletter = '(?:¥xA3[¥xE1-¥xFA])'; # EUC-JP
$Zlletter_sjis = '(?:¥x82[¥x81-¥x9A])'; # SJIS
# 全角アルファベット [A-Za-z]
$Zalphabet = '(?:¥xA3[¥xC1-¥xDA¥xE1-¥xFA])'; # EUC-JP
$Zalphabet_sjis = '(?:¥x82[¥x60-¥x79¥x81-¥x9A])'; # SJIS
# 全角ひらがな [ぁ-ん]
$Zhiragana = '(?:¥xA4[¥xA1-¥xF3])'; # EUC-JP
$Zhiragana_sjis = '(?:¥x82[¥x9F-¥xF1])'; # SJIS
# 全角ひらがな(拡張) [ぁ-ん゛゜ゝゞ]
$ZhiraganaExt = '(?:¥xA4[¥xA1-¥xF3]|¥xA1[¥xAB¥xAC¥xB5¥xB6])'; # EUC-JP
$ZhiraganaExt_sjis = '(?:¥x82[¥x9F-¥xF1]|¥x81[¥x4A¥x4B¥x54¥x55])'; # SJIS
# 全角カタカナ [ァ-ヶ]
$Zkatakana = '(?:¥xA5[¥xA1-¥xF6])'; # EUC-JP
$Zkatakana_sjis = '(?:¥x83[¥x40-¥x96])'; # SJIS
# 全角カタカナ(拡張) [ァ-ヶ・ーヽヾ]
$ZkatakanaExt = '(?:¥xA5[¥xA1-¥xF6]|¥xA1[¥xA6¥xBC¥xB3¥xB4])'; # EUC-JP
$ZkatakanaExt_sjis = '(?:¥x83[¥x40-¥x96]|¥x81[¥x45¥x5B¥x52¥x53])'; # SJIS
# 半角カタカナ [ヲ-゜]
$Hkatakana = '(?:¥x8E[¥xA6-¥xDF])'; # EUC-JP
$Hkatakana_sjis = '[¥xA6-¥xDF]'; # SJIS
# EUC-JP文字
$ascii = '[¥x00-¥x7F]'; # 1バイト EUC-JP文字
$twoBytes = '(?:[¥x8E¥xA1-¥xFE][¥xA1-¥xFE])'; # 2バイト EUC-JP文字
$threeBytes = '(?:¥x8F[¥xA1-¥xFE][¥xA1-¥xFE])'; # 3バイト EUC-JP文字
$character = "(?:$ascii|$twoBytes|$threeBytes)"; # EUC-JP文字
# EUC-JP文字(機種依存文字・未定義領域・3バイト文字を含まない)
$character_strict = '(?:[¥x00-¥x7F]|' # ASCII
. '¥x8E[¥xA1-¥xDF]|' # 半角カタカナ
. '[¥xA1¥xB0-¥xCE¥xD0-¥xF3][¥xA1-¥xFE]|' # 1,16-46,48-83区
. '¥xA2[¥xA1-¥xAE¥xBA-¥xC1¥xCA-¥xD0¥xDC-¥xEA¥xF2-¥xF9¥xFE]|' # 2区
. '¥xA3[¥xB0-¥xB9¥xC1-¥xDA¥xE1-¥xFA]|' # 3区
. '¥xA4[¥xA1-¥xF3]|' # 4区
. '¥xA5[¥xA1-¥xF6]|' # 5区
. '¥xA6[¥xA1-¥xB8¥xC1-¥xD8]|' # 6区
. '¥xA7[¥xA1-¥xC1¥xD1-¥xF1]|' # 7区
. '¥xA8[¥xA1-¥xC0]|' # 8区
. '¥xCF[¥xA1-¥xD3]|' # 47区
. '¥xF4[¥xA1-¥xA6])'; # 84区
# EUC-JP未定義文字(機種依存文字・3バイト文字を含む)
$character_undef = '(?:[¥xA9-¥xAF¥xF5-¥xFE][¥xA1-¥xFE]|' # 9-15,85-94区
. '¥x8E[¥xE0-¥xFE]|' # 半角カタカナ
. '¥xA2[¥xAF-¥xB9¥xC2-¥xC9¥xD1-¥xDB¥xEB-¥xF1¥xFA-¥xFD]|' # 2区
. '¥xA3[¥XA1-¥xAF¥xBA-¥xC0¥xDB-¥xE0¥xFB-¥xFE]|' # 3区
. '¥xA4[¥xF4-¥xFE]|' # 4区
. '¥xA5[¥xF7-¥xFE]|' # 5区
. '¥xA6[¥xB9-¥xC0¥xD9-¥xFE]|' # 6区
. '¥xA7[¥xC2-¥xD0¥xF2-¥xFE]|' # 7区
. '¥xA8[¥xC1-¥xFE]|' # 8区
. '¥xCF[¥xD4-¥xFE]|' # 47区
. '¥xF4[¥xA7-¥xFE]|' # 84区
. '¥x8F[¥xA1-¥xFE][¥xA1-¥xFE])'; # 3バイト文字
# SJIS文字
$oneByte_sjis = '[¥x00-¥x7F¥xA1-¥xDF]'; # 1バイト SJIS文字
$twoBytes_sjis =
'(?:[¥x81-¥x9F¥xE0-¥xFC][¥x40-¥x7E¥x80-¥xFC])'; # 2バイト SJIS文字
$character_sjis = "(?:$oneByte_sjis|$twoBytes_sjis)"; # SJIS文字
# SJIS文字(機種依存文字・未定義領域を含まない)
$character_sjis_strict = '(?:[¥x00-¥x7F¥xA1-¥xDF]|' # ASCII,半角カタカナ
. '[¥x89-¥x97¥x99-¥x9F¥xE0-¥xE9][¥x40-¥x7E¥x80-¥xFC]|' # 17-46,49-82区
. '¥x81[¥x40-¥x7E¥x80-¥xAC¥xB8-¥xBF¥xC8-¥xCE¥xDA-¥xE8¥xF0-¥xF7¥xFC]|' # 1,2区
. '¥x82[¥x4F-¥x58¥x60-¥x79¥x81-¥x9A¥x9F-¥xF1]|' # 3,4区
. '¥x83[¥x40-¥x7E¥x80-¥x96¥x9F-¥xB6¥xBF-¥xD6]|' # 5,6区
. '¥x84[¥x40-¥x60¥x70-¥x7E¥x80-¥x91¥x9F-¥xBE]|' # 7,8区
. '¥x88[¥x9F-¥xFC]|' # 15,16区
. '¥x98[¥x40-¥x72¥x9F-¥xFC]|' # 47,48区
. '¥xEA[¥x40-¥x7E¥x80-¥xA4])'; # 83,84区
# SJIS未定義文字(機種依存文字を含む)
$character_sjis_undef =
'(?:[¥x85-¥x87¥xEB-¥xFC][¥x40-¥x7E¥x80-¥xFC]|' # 9-14,85-120区
. '¥x81[¥xAD-¥xB7¥xC0-¥xC7¥xCF-¥xD9¥xE9-¥xEF¥xF8-¥xFB]|' # 1,2区
. '¥x82[¥x40-¥x4E¥x59-¥x5F¥x7A-¥x7E¥x80¥x9B-¥x9E¥xF2-¥xFC]|' # 3,4区
. '¥x83[¥x97-¥x9E¥xB7-¥xBE¥xD7-¥xFC]|' # 5,6区
. '¥x84[¥x61-¥x6F¥x92-¥x9E¥xBF-¥xFC]|' # 7,8区
. '¥x88[¥x40-¥x7E¥x80-¥x9E]|' # 15,16区
. '¥x98[¥x73-¥x7E¥x80-¥x9E]|' # 47,48区
. '¥xEA[¥xA5-¥xFC])'; # 83,84区
# iモード対応 絵文字
$iPictograph_base = '(?:¥xF8[¥x9F-¥xFC]|' # 基本絵文字(SJIS)
. '¥xF9[¥x40-¥x49¥x50-¥x52¥x55-¥x57¥x5B-¥x5E¥x72-¥x7E¥x80-¥xB0])';
$iPictograph_ext = '(?:¥xF9[¥xB1-¥xFC])'; # 拡張絵文字(SJIS)
$iPictograph =
'(?:$iPictograph_base|$iPictograph_ext)'; # iモード対応 絵文字(SJIS)
# メールアドレス
str.match(/^[A-Za-z0-9]+[¥w¥.-]+[¥w]+@[¥w¥.-]+¥.¥w{2,}$/)
08/11: 夏期休暇について
9月2日〜9月19日まで、夏期休暇とさせていただきます。
お盆期間中は原則通常通り営業いたしますが、お問合せなどに関するレスポンスが若干遅くなることがあるかもしれません。ご了承ください。
お盆期間中は原則通常通り営業いたしますが、お問合せなどに関するレスポンスが若干遅くなることがあるかもしれません。ご了承ください。
