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,}
が機能しませんでした。たとえば、の場合、と入力した場合、エラーは送信されません。私はそれの後にスペースを置くと、それは魅力のように動作します。
'[a-zA-Z] {1、}'は1以上で、 '[a-zA-Z [:space:]] {2、}'は2以上を示します。 1 + 2 = 3なので、3文字以上一致させる必要があります。 – AbraCadaver
^^^おそらくこれは、あなたの質問は非常に不明ですが、*何も送信していません。 – jeroen
空白文字 '\ s'を削除する必要があり、正規表現は2文字以上で動作するはずです。 –