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

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2011/04/26 16:05:17
  • 終了:2011/05/03 16:10:02

回答(3件)

id:y-kawaz No.1

y-kawaz回答回数1419ベストアンサー獲得回数2252011/04/26 16:43:17

ポイント10pt

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

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

/([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

id:Cherenkov No.2

Cherenkov回答回数1502ベストアンサー獲得回数4922011/04/26 17:09:05

ポイント10pt

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


phpならpreg_matchを使う。

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

javascriptならtestを使う。

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

RegExp - MDC Doc Center

id:a-kuma3 No.3

a-kuma3回答回数4412ベストアンサー獲得回数18032011/04/26 17:18:46

ポイント10pt

こう(↓)かな?

>>|

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

|<<

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


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

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません