2012-01-19 20 views
13

Regexを文字列に書き込んで、文字列がalpha+numeric(つまり文字と数字の両方)の文字である必要があります。数字と文字の両方が必要な文字列の正規表現が必要

有効:

a123sss 
12dfgfd 

無効:

aaaa 
1111 

私はこの^[a-zA-Z0-9]*$を試みたが、それは常にtrueを与えています。

編集:それは唯一のアルファベット、または数字のみを使用することはできません。123-abc

+2

この質問のように思われます:http://stackoverflow.com/questions/1051989/regex-for-alphanumeric-but-at-least-one-character – Niklas

+0

これは無効か有効ですか?「1234abcd」ですか? – Abel

+0

'ABel'有効な小さな変更でも、' -'のような特殊文字を得ることができます。そのために私に教えてください – Chaitanya

答えて

31

あなたは、文字列の両方のアルファベットと数字を必要と言っているかのようですね。これも有効です。

このように、文字列でなければなりません:0文字以上の英数字

または

に続く1文字以上の英字が続く

  • つ以上の数字、
    • 1つ以上の英字、1つ以上の数字、0以上の英数字あなたは、単にそれが数字と文字の両方が含まれていることを確認したい(そしてそれは同様に他の文字が含まれている場合は、あなたが気にしない)場合はracters

    したがって、作品の正規表現は、あなたが

    ^([0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+)[0-9a-zA-Z]*$ 
    
+3

ニースの最初の答え、+1。ようこそ! – stema

+0

こんにちは 'パッチチ'あなたはこのケースにも '123-abc'を与えることができます – Chaitanya

+0

本当にニースの答え。 '[0-9]'を '\ d'に置き換えることができます。多くの国では、有効な文字を許可するには' \ p [a-zA-Z]の代わりに{L} 'を使用します。 – Abel

0

です使用することができます。

/\[0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+/ 
1

をasp.netは先読みをサポートしているかどうかは知りませんが、それがない場合は、この正規表現は、仕事をしていません:

^(?=.*[0-9])(?=.*[a-zA-Z])[a-zA-Z0-9]+$ 
+0

ASP.NETは先読みをサポートしています。このわずかに短いバージョンも '^(?=。* \ d)(?=。* \ p {L})'で動作するはずです。しかし、あなたの解決策では句読点のような他の文字は許されませんか? – Abel

+0

@アベル:はい、あなたのリグで、私は質問を誤解しました。回答が更新されました。 – Toto

2

いくつかの可能な優れたソリューションが既に掲載されているが、OPはアルファとどのような数値の意味は、おそらく単純化答えは次のようであるものを指定していないので:

^(\d+\p{L}+|\p{L}+\d+)+$ 

  • \dは、T、グルーピングのための任意の数字
  • \p{L}アクセント文字を含む任意の文字であり、Aのような、ç等
  • (..)ありますo M42の注目された発言を防ぎなさい、ありがとう! (または^と$を繰り返す)

ßğł123ħdža3b, 123abc. 1a2b3c, ȬȭɓʥɶÂË32などのすべてに一致します。

+0

これは '1a.b'と一致します – Toto

+0

@ M42:今、私の悪い、それを固定しました、ありがとう – Abel

+0

:あなたは歓迎です、+1。 – Toto

0

これは動作します:

^(\d+[A-Za-z_-]+|[A-Za-z_-]+\d+)[A-Za-z_-\d]*$ 

それはいくつかの文字に続いて、いくつかの数字のいずれかを検索します。または少数桁の少数の文字。その後、文字と数字を混在させることも、何もすることもできません。

+0

@Abelがこのスレッドのほとんどすべての返信を編集したのはなぜですか? – Serge

+1

はい、変ですね!すべての色づけが間違っていたので、各回答に '<! - language:lang-none - > 'を追加して修正しました(正規表現はありません)。あなたはそれを見ることができます(または、あなたが同意しない場合は元に戻す)ことができる歴史のログに言及しました。また参照してください:http://meta.stackexchange.com/questions/981/syntax-highlighting-language-hints – Abel

+0

ああ、私は参照してください。ありがとう! – Serge

関連する問題