2011-03-29 29 views
2

私は正規表現^(?=.*?[A-Za-z])\S*$を持っています。これは、入力にアルファベットが含まれ、アルファベットとともに特殊文字または数字を含む必要があることを示しています。しかし、\ Sを使っているので空白は許されません。 javascriptを使用した正規表現

は、いくつかのいずれかが私にアルファベットが含まれている必要がありREGのEXPを提案することができますし、それは数字または特殊文字と空白を含めることができますが、アルファベットは必須であり、最後の文字が

答えて

4

かなり単に空白で終わるべきではありません。

^(?=.*?[A-Za-z]).*$ 

はJavaScript .に新しい行を一致させる、そしてドット-すべてのフラグ(/s)がないないことに注意してください。それが問題である場合は、代わりに[\s\S]のようなものを使用することができます。

^(?=[\s\S]*?[A-Za-z])[\s\S]*$ 

あなたは、単一の先読みを持っているので、あなたがにパターンを簡略化することができます。

^.*[A-Za-z].*$ 

あるいは、さらに簡単:

[A-Za-z] 

[A-Za-z]は、文字列内のどこにでも文字がある場合は、最初から最後まで検索する必要はありません。また、最後の文字を検証するために


が空白ではない、それは基本的に正規表現でANDを意味する(再び先読みを使うのが一番簡単でしょう:

^(?=.*?[A-Za-z]).*\S$ 
+0

を[A-ZA-Z ]は動作しますが、最後の文字がスペースでないようにチェックする必要もあります – user475685

+0

各パタンの末尾の@User - '。* \ S $'は '[A-Za-z]。* \ S $ 'を使用してください。この要件を追加するために質問を編集できますか? – Kobi

+0

ありがとうございました – user475685