以下は、ウェブサイトの URL を検証するために使用している URL 式 (正規表現) です。
/(https?:\/\/)(www)?[A-Za-z0-9.\-@_~]+\.[A-Za-z]{2,}(:[0-9]{2,5})?(\/[A-Za-z0-9\/_\-.~?&=]*)*/
私のangular JSコードの実装は次のとおりです:
<md-input-container class="md-block" style="margin-top:20px;">
<label>Website</label>
<input ng-model="schoolDetails.website" name="website" ng-change="editField()" type="url" ng-pattern="/(https?:\/\/)(www)?[A-Za-z0-9.\-@_~]+\.[A-Za-z]{2,}(:[0-9]{2,5})?(\/[A-Za-z0-9\/_\-.~?&=]*)*/">
<div ng-messages="schoolDetailsForm.website.$error">
<div ng-message="pattern">Please enter a valid website</div>
</div>
</md-input-container>
正常に動作する有効な URL を指定http://www.bharatividyapeeth.edu
するとします。無効な URL を指定http://www.
するとエラー メッセージが表示されますが、無効な URL を入力するとhttp://www.bharatividyapeeth
、エラー メッセージは表示されず、有効な URL として受け入れられます。
ウェブサイトの URL を適切に検証するために、コードを修正してもらえますか?
ありがとう。