我编写了一个非常简单的正则表达式,以确保某些用户输入是字母数字,且带有单个空格,如下所示:
<input type="text" ng-minlength="5" ng-maxlength="8" ng-pattern="/^[0-9A-Z]*\s[0-9A-Z]*$/gi" required placeholder="Postcode" ng-model="addr.postcode" class="form-control" name="postcode" />
<div class="col-xs-12" ng-messages="myform.postcode.$error" ng-if="myform.$submitted || myform.postcode.$dirty">
<div class="text-warning" ng-message="minlength">Postcode is too short.</div>
<div class="text-warning" ng-message="pattern">Must contain a space.</div>
<div class="text-warning" ng-message="maxlength">Postcode is too long.</div>
</div>
当我在台式机上以chrome进行测试时,它很有魅力。如果我的输入不包含空格,则会收到验证错误。输入空格后,错误将清除。例如“ AB12 3CD”通过而“ AB123CD”失败,这正是我所期望的。
如果我在移动设备上打开了同一页面(我已经使用iPhone 5和6以及Windows Phone 8.1进行了测试),则无论输入如何,该模式始终会失败。例如“ AB12 3CD”和“ AB123CD”均失败。
这是全局g选项。如果我将正则表达式更改为
ng-pattern="/^[0-9A-Z]*\s[0-9A-Z]*$/i"
它适用于移动版和台式机版
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句