2012-02-09 4 views
0

私は入力を検証する必要があります。私が現在持っている最も簡単な方法は、単一の正規表現です。小数点のない単語の文字

名前にある可能性のあるすべての文字をチェックしたいので、Schüsslerのようにüのような特殊文字を許可する必要があります。しかし、数字は許されてはいけません。さもなければ、私はちょうど\ wを使ったでしょう。

私は数字と_を除くすべての単語の文字に一致させようとしましたが、これを動作させることはできません。 誰かが私にこの作業を可能にする方法を教えてもらえますか、許可されている可能性のあるすべての特殊文字に言及しない別の解決策を教えてもらえますか?

+0

どのような特殊文字を使用できますか?あなたは逆の範囲(許可されていない文字を指定する)を持っていますが、名前の一部ではないすべての種類のシンボルやその他の迷惑メールが許可されるため、おそらくもっと難しい作業です。 –

+0

正規表現を使用している場合は、有効な文字のリストを指定するのが最も簡単でしょう。 –

+0

http://www.regular-expressions.info/screens/rxbcharclass.png 小数点のない西ヨーロッパの変形と基本的に – Johan

答えて

0

この正規表現がマッチする/許可するすべてのもの:反対のことを行うとだけしたくないもののためにチェックしないのはなぜ

/^[a-záéíóäëiöúàèììù]+$/i 
+0

それはうまくいくだろうが、私は望んでいないことをすべて含めなければならない。これは短いが、それでもまともなリストだ。 – Johan

+0

@Johanあなたはこれを回避しません。どこかに - あなたが望むものとそうでないものを指定しなければならないと思います。 – poitroae

1

これは、ロマンスの言語のアクセントの大部分を捕らえます。あなたがより多く必要な場合は、それらを追加しますが、

if (!name.match(/[0-9_]/g)) { 
    // Name has no underscores or digits. Keep validating 
} else { 
    // Ask the user why they have digits in their name 
} 
+0

OPはまたウムラウトとアクセント付きの文字を一致させたいと思っていましたが、これは素晴らしい "Ä-ÿ"の範囲を持っていません。 – Blender

-1

[^]内のもの

/[^_0-9 ]+/g 
+0

ダウンボード、あなた自身を見せてください。なぜ私の答えが無効であるのかの説明は素晴らしいでしょう。 – Blender

関連する問題