-1
私はjquery validateで実行しているフォームを持っています。彼らが使用しているurlメソッドでは、httpにURLを追加する必要があります。ユーザーはhttpやwwwを使わずにURLを送信できます。私は、追加Methodeの使用:jquery validate- urlメソッドを追加して正規表現を使用してURLなしでURLを許可
jQuery.validator.addMethod("urlRegex", function(value, element) {
return this.optional(element) || /^(?:([a-z]+):(?:([a-z]*):)?\/\/)?(?:([^:@]*)(?::([^:@]*))[email protected])?((?:[a-z0-9_-]+\.)+[a-z]{2,}|localhost|(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.){3}(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])))(?::(\d+))?(?:([^:\?\#]+))?(?:\?([^\#]+))?(?:\#([^\s]+))?$/.test(value);
}, "PLEASE ENTER A VAILD WEBSITE ");
とルールの下で、私は新しいメソッドを追加しました:
rules: {
name: {
required: true,
minlength: 2
},
email: {
required: true,
email: true
},
website: {
required: true,
urlRegex: true
},
}
をしかし、それはまだ必要とHTTPです:URLの先頭に\。私はregex101.comでこの正規表現をチェックし、example.comのようなURLと一致するので、問題が正規表現か他のものかどうかはわかりません。
ありがとうございました。
ねえ、ありがとう。 iv'eが質問に書いたように、私はwwwなしで働くためにこれを必要とします(example.comは有効でなければなりません)。私が持っている正規表現はテスト時にうまくいきますので、問題はそこにあるとは思わない。 –