Привет, я хочу проверить текстовое поле, которое будет иметь много текста, но я не хочу разрешать номера телефонов, идентификаторы электронной почты или любые URL-адреса в этом текстовом поле. Я хочу показать сообщение об ошибке как адрес электронной почты/телефон /url, если это указано в текстовом поле, и сказать, что это запрещено.
Используя ng-Pattern, скажите, пожалуйста, какое регулярное выражение использовать, чтобы это разрешить.
<div class="form-group">
<div class="col-sm-6 col-md-8">
<label for="inputjobDescription" class="control-label lightfont">Description</label>
<div text-angular ng-model="job.Description" name="description" ng-pattern="/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}))\n?)*$/" ng-minlength="100" ta-min-text="100" required>
</div>
<p ng-show="jobform.description.$invalid && !jobform.description.$pristine && !jobform.description.$error.pattern" class="help-block">Can you be a bit more elaborate(atleast 100 characters) , please?<br> Don't write your emailID, telephone number or any URL.</p>
</div>
</div>
Мой текущий ng-шаблон выглядит следующим образом
ng-pattern="/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}))\n?)*$/"
Это не похоже на хорошее место для регулярного выражения. Регулярное выражение, вероятно, было бы слишком сложным.
Я бы предложил использовать специальный валидатор здесь и попробовать его по-другому:
Сравните данный текст с 3 различными регулярными выражениями:
Только если ВСЕ эти три (лучше управляемые) выражения FAIL вы в порядке и вернетесь, что выражение действительно. В этом случае вы можете использовать три стандартных регулярных выражения из случайного поиска google вместо того, чтобы изобретать какое-то разумное супер-регулярное выражение, если вы знаете, что я имею в виду.