0

jqBootstrapValidation.jsを使用して検証するフォームを作成しました。

ただし、FQDN 形式フィールドの正規表現が機能しないようです。

<input class="form-control"
type="text"
name="cn"
id="commonname"
data-validation-regex-regex="/^(?=.{1,254}$)((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}$/i"
data-validation-regex-message="Must enter a vaild FQDN" required>

入力した FQDN が無効になります。

正規表現にはいくつかの異なる形式があることを知っています。

JavaScript に間違ったフォーマットを使用していますか?

4

1 に答える 1

0

デバッグを支援するために、以下の 1 ~ 6 を試して、使用状況について PASS/FAIL を報告してください。
リモートで一致する必要があるデータを入力します。

 1.     "/(?!)/"                      // Should FAIL
 2.     "/^(?=.{1,254}$)/"            // Should PASS
 3.     "/(?=[\S\s]{1,254})/"         // Should PASS


 // 4 & 5  have \. replaced with [.]
 // and added (?i)
 // (If JS doesn't support (?i) modifiers, remove them
 // -------------------------------------------------------

     // this has no lookaheads nor anchors
     4.      "/(?i)((xn--)?[a-z0-9]+(-[a-z0-9]+)*[.])+[a-z]{2,63}/"

     // this has anchors, but no lookaheads
     5.      "/^(?i)((xn--)?[a-z0-9]+(-[a-z0-9]+)*[.])+[a-z]{2,63}$/"

     // this has anchors and lookaheads
     6.      "/^(?i)(?=.{1,254}$)((?=[a-z0-9-]{1,63}[.])(xn--)?[a-z0-9]+(-[a-z0-9]+)*[.])+[a-z]{2,63}$/"
于 2013-11-15T19:10:45.450 に答える