2017-08-02 13 views
2

私は2つの異なるフィールドの正規表現を持っています。どちらも正しい値を評価しますが、ユーザーが空白を入力できないようにします。たとえば、Genderフィールドのユーザーは、単に空白を入力してフォームを送信できます。私は空白を入力するのを防ぐためにしたい。ここに私の正規表現です:HTML5のパターン正規表現は空白を防ぎますか?

Gender pattern="*[MmFf]?*" #This field should allow M or F letter lower or upper case. Nothing else should be allowed. This field is 1 character only. 

Grade pattern=" *(0?[0-9]|1[0-2]|[A-Z]{1,2})? *" #This should allow 01 or 1 and something like this PK or pk. No white space. 

私はHTML5パターンの空白を防ぐ方法がわかりません。誰かがこの問題を解決する方法を知っていれば教えてください。ありがとう。

+0

可能重複[正規表現正規表現の検証に空白を防ぐ方法(https://stackoverflow.com/questions/2842823/how-to -prevent-white-spaces-in-a-regular-expression-regex-validation) – marcusshep

答えて

1

あなたのパターンはスペース(*)または空の文字列を使用できます。パターンマッチを行い、少なくとも何か:

  • 性別pattern="[MmFf]"
  • グレードpattern="0?[0-9]|1[0-2]|[A-Za-z]{1,2}" HTML5パターンは(明示的^$アンカーを必要としないマインドこと

いくつかの異常なフレームワークがない限りHTML5 patternの動作を上書きします)。

したがって、最初のパターンが^(?:[MmFf])$パターンに変換され、唯一MmF又はfに等しい文字列にマッチします。

第二つ^(?:0?[0-9]|1[0-2]|[A-Za-z]{1,2})$に翻訳され、ストリング(文字列全体の一致を必要とする)

  • 0?[0-9]と一致します - または
  • 1[0-2]から0オプションは、数字
  • |と続きます - 10,11または12
  • |-または
  • [A-Za-z]{1,2}から1又は2つの大文字または小文字のASCII文字
+0

この組み合わせで[AZ] {1,2} - 1または2の大文字のASCII文字を小文字にする方法を教えてください。 –

+0

@espresso_coffee文字クラスに 'a-z'を追加するだけです。 –

+0

その部分は正規表現のように同じです。あなたの助けをありがとう! –