次は私がウェブサイトのURLを検証するために使用しているURLの表現(regex)で次のように正規表現がウェブサイトのURLを正しく検証しないのはなぜですか?
/(https?:\/\/)(www)?[A-Za-z0-9.\[email protected]_~]+\.[A-Za-z]{2,}(:[0-9]{2,5})?(\/[A-Za-z0-9\/_\-.~?&=]*)*/
マイ角度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.\[email protected]_~]+\.[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を正しく検証するために、コードを修正してください。
ありがとうございました。
で失敗しますが(\/- * [A-ZA-Z0-9 \/_ \。〜&=?]) * '' 0 'が出てもマッチを成功させる – rock321987
@ rock321987:正しい正規表現を答えにしてください。それは私にとって大きな助けになるでしょう。私はそれを迅速に答えとして受け入れるべきです。 – user2839497
['ng-pattern ="/^(https::\/\ /)(www \。)?(?! www \。)[A-Za-z0-9。 [A-Za-z] {2、}(:[0-9] {2,5})?(\/[A-Za-z0-9 \/_&= - ] *)* $ /"'()(https://regex101.com/r/eE3dT5/1) –