2016-09-13 7 views
2

奇妙ですが、私のフォームに2文字を入力すると、送信されないエラーも出ません。2文字の入力を送信できません

ここに私のコードのスニペットがあります。それはpreg_matchおよび/または正規表現で何かを持っている

HTMLコード

<div class="col-md-6"> 
    <div class="form-group"> 
     <label for="form_name">Name</label> 
      <input id="form_name" type="text" pattern="^[a-zA-Z]{1}[a-zA-Z\s]{1,}$" 
        name="name" class="form-control" placeholder="Your name" 
        required="required" data-error="Your name is required"> 
     <div class="help-block with-errors"></div> 
    </div> 
</div> 

PHPコード

// Check name 
if (!preg_match("/^[a-zA-Z]{1,}+[a-zA-Z[:space:]]{2,}$/", $_POST['name'])) { 
    $errors[] = 'Name'; 
} 

、私は{1}を削除しようとしませんが、何の結果。また{1,}が機能しませんでした。たとえば、の場合、と入力した場合、エラーは送信されません。私はそれの後にスペースを置くと、それは魅力のように動作します。

+6

'[a-zA-Z] {1、}'は1以上で、 '[a-zA-Z [:space:]] {2、}'は2以上を示します。 1 + 2 = 3なので、3文字以上一致させる必要があります。 – AbraCadaver

+0

^^^おそらくこれは、あなたの質問は非常に不明ですが、*何も送信していません。 – jeroen

+0

空白文字 '\ s'を削除する必要があり、正規表現は2文字以上で動作するはずです。 –

答えて

-1

質問がAbraCadaverによって応答される:

[-ZA-Z] {1} 1以上述べ[:スペース:-ZA-Zを[] {2} 2を述べまたは 詳細。 1 + 2 = 3なので、3文字以上一致させる必要があります。

関連する問題