複数の文字列をチェックして、電子メールと電話番号を入力してエラーメッセージ "ERR1"電話番号と電子メールは許可されません)。改行のための電子メール/電話スローエラー(入力キー) - HTML/AngularJS
$rootScope.RejectEmailPhoneNo='^(?:(?!(@|([0-9]{3}(|-|_|\.)[0-9]{3})|[0-9]{4}|([0-9]{2}(|-|_|\.)[0-9]{2})|([0-9](|-|_|\.)[0-9](|-|_|\.)[0-9]))).)+$'
所望の結果:複数桁の数字(例えば、4454、313 345、22 14,546-343を許可してはならない RE、1 2 2
Iは、次の正規表現(RE)を使用し4など)と '@'記号を使用します。他の文字を許可する( 'ドット'を使用)。問題:はしかし、何が起こることです:ユーザが入力がキー入力したとき、それらはエラーメッセージ「ERR1」の通知を受けます。私が代わりに[\ sの\の「(?s)は」を使用する場合 私はDOTALL演算子を使用して改行を許可するようにREを変更したとき、私は私が入力した場合でも、エラーメッセージ「ERR1」を取得
$rootScope.RejectEmailPhoneNo='^(?:(?!(@|([0-9]{3}(|-|_|\.)[0-9]{3})|[0-9]{4}|([0-9]{2}(|-|_|\.)[0-9]{2})|([0-9](|-|_|\.)[0-9](|-|_|\.)[0-9])))[\s\S])+$'
を「はABCDE」 S] - @と複数桁の数字を含むすべての文字を許可します。
私の質問は:
(1)私は改行のエラーをスローしないように、この正規表現になるだろうどのように - しかし、ユーザーが電子メールを入力した場合にのみ、エラーをスローする必要があります(少なくともまたは@)と複数桁数字?
上記REは、コンテキストで使用されます。
<md-input-container class="md-block" flex-gt-sm>
<label>Description</label>
<textarea md-maxlength="900" rows="1" ng-model="job.description" ng- required=true name="description" type="text"
pattern={{RejectEmailPhoneNo}}
ng-class="{ error : profile_form.description.$touched && profile_form.description.$error.required,typed : profile_form.description.$valid && profile_form.description.$touched && profile_form.description.$dirty }"
class="ng-pristine ng-untouched ng-valid ng-valid-pattern ng-valid-maxlength"
aria-multiline="true" aria-invalid="false"></textarea>
<div ng-messages="fulltime_form.description.$error">
<div ng-message="required">Please provide description.</div>
<div ng-message="pattern">Phone numbers and emails are not allowed.</div>
**(2)REは、コントローラ機能を通じて「説明」をチェックすることができれば - どのように私は機能としてそれを書くのですか?角度-JSに**
ありがとう、私はREの使い方についてより多くの文脈を与えるために質問を更新しました。コードは角型であり、あなたから与えられたJSコードにどのように収まるかはわかりません。 – Srilekha