PHPで、ユーザーが入力した文字列に、連続した英数文字(例えば「11111」とか「aaaaa」)があると

エラーを返したいのですがスマートなチェック方法がありましたら教えてください。

回答の条件
  • 1人2回まで
  • 登録:2008/08/11 11:14:01
  • 終了:2008/08/11 12:49:40

ベストアンサー

id:GoldenDawn No.2

GoldenDawn回答回数426ベストアンサー獲得回数812008/08/11 12:37:24

ポイント35pt

こんな感じでどうでしょうか

<?php
$str = 'abcccccdefg' ;

if (preg_match('/([\d\w])\1{4}/', $str)) echo 'Error' ;
else echo 'Ok' ;
?>
id:xxmasaxx

これでバッチリでした!

どうも有り難うございます。

2008/08/11 12:49:08

その他の回答(1件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/08/11 11:34:34

ポイント35pt

Perl互換の正規表現を利用してはどうでしょうか。


たとえば、/1{4,}/ は 1 の連続(4回以上)を表します。

preg_match関数を利用すればいいでしょう。


参考サイト

id:xxmasaxx

回答ありがとうございます。

正規表現は思いつくのですが、ちょっと泥臭そうな気がして。

自分は想像力が足りないので具体例のソースなんかあると助かります。

2008/08/11 12:05:43
id:GoldenDawn No.2

GoldenDawn回答回数426ベストアンサー獲得回数812008/08/11 12:37:24ここでベストアンサー

ポイント35pt

こんな感じでどうでしょうか

<?php
$str = 'abcccccdefg' ;

if (preg_match('/([\d\w])\1{4}/', $str)) echo 'Error' ;
else echo 'Ok' ;
?>
id:xxmasaxx

これでバッチリでした!

どうも有り難うございます。

2008/08/11 12:49:08

コメントはまだありません

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

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

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

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