2017-12-29 15 views
0

文字A-Z、a-z、0-9、およびスペースのみを持つために、HTMLパターン属性が必要です。HTMLパターン属性を書き込む方法は?

私は次のように動作しますが、スペースを入力してサブミットするだけで問題はありません。

[A-Za-z 0-9]+ 

私は少なくとも3文字を要求すると決めました。そのうちの1文字は手紙です。それは私にこれを書くように導く:

[A-Za-z 0-9](?=.*[A-Za-z]).{3,} 

しかし、私がJuiに入ると、それを受け入れる。これはSQLに基づいているため、問題が発生します。なぜそれはセミコロンを受け入れ、私は必要な正しいパターンは何ですか?

+0

"SQLに基づく":

[A-Za-z 0-9]{3,} 

メールを送る必要?どのような問題? SQLインジェクションではありません。パラメータ化されたクエリを使用する必要があります。 'pattern'属性のようなクライアント側の検証は、とにかく役に立たないでしょう。 – Ryan

+0

@Ryanテキストフィールドに入力した名前でデータベースを作成するPHPファイルがあるので、SQLインジェクションです。問題を解決するために私に何をお勧めしますか? – Rixwaan

+0

データベースを動的に作成するのはなぜですか?しかし、少なくとも同じパターンでサーバ側で検証する必要があります。この部分がクライアント上の 'pattern'属性なしで安全であることをテストし、追加します。 – Ryan

答えて

1

あなたのパターンでスタート:

[A-Za-z 0-9]+ 

は、少なくとも3つの文字が必要:

(?=.*[A-Za-z])[A-Za-z 0-9]{3,} 
関連する問題