人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

正規表現で、英数混在かどうかを判定するのはどうかくといいのでしょうか?


●質問者: kaiketsu
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:正規表現
○ 状態 :キャンセル
└ 回答数 : 3/3件

▽最新の回答へ

1 ● y-kawaz

混在かどうかというのは「数字とアルファベットの両方が一文字以上含まれている」ということでよいでしょうか?

であればこんな感じで良いんじゃないでしょうか?

/([0-9].*[a-zA-Z]|[a-zA-Z].*[0-9])/

↑これだと1行の内に "a1" や "1b" が含まれるケースにマッチしますが "a\n1" のように改行を挟むとマッチしません。

改行またぎの英数混在を判定したい場合は以下のように s を付ければOKです。

/([0-9].*[a-zA-Z]|[a-zA-Z].*[0-9])/s

http://q.hatena.ne.jp/answer


2 ● Cherenkov

英数字を表す正規表現は\wです。


phpならpreg_matchを使う。

echo preg_match("/\w/", '判定したい文字列'); //マッチしない場合は0

javascriptならtestを使う。

alert(/\w/.test('判定したい文字列')); //true,false

RegExp - MDC Doc Center


3 ● a-kuma3

こう(↓)かな?

>>|

^(?=[0-9]*[A-z]+)(?=[A-z]*[0-9]+)

|<<

英文字と数字の両方が入っていて、それ以外の文字が無い場合にマッチします。


https://developer.mozilla.org/ja/JavaScript/Reference/Global_Obj...

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ