需要显示关于手机的验证错误消息
Need to display validation error message about Mobile phone
我需要在以下情况下显示关于手机号码的错误消息:a)长度为10位。b)它不应该以0或1开头。c) 10位数字不能都相同。例如:(222)2222 - 222。
下面是html和js代码。
<label>Work Phone</label>
<input id="" type="text" ui-mask="(999) 999-9999" name="workPhone"
class="form-control"
tabindex="16"
ng-model="patientIn.addressList[0].phoneNumbers['work']"
ng-change="setPhoneNumber('work')"
ui-mask-placeholder-char="space"
model-view-value="true"/>
<p ng-show="(frmPatientEdit.$submitted && frmPatientEdit.workPhone.$invalid) || (frmPatientEdit.workPhone.$invalid && frmPatientEdit.workPhone.$touched)"
class="error">Work Phone is Invalid.</p>
JS代码:
$scope.setPhoneNumber = function (type) {
if (typeof $scope.patientIn.addressList[0].phoneNumbers[type] !== "undefined" && $scope.patientIn.addressList[0].phoneNumbers[type] !== "") {
var obj = $scope.patientIn.addressList[0].phoneNumbers.filter(function (item) {
return item.type === type;
});
var index = $scope.patientIn.addressList[0].phoneNumbers.indexOf(obj[0]);
if (index > -1) {
$scope.patientIn.addressList[0].phoneNumbers[index].number = $scope.patientIn.addressList[0].phoneNumbers[type];
} else {
//console.log('Adding number: ', $scope.patientIn.addressList[0].phoneNumbers[type], type);
$scope.patientIn.addressList[0].phoneNumbers.push({"type": type, "number": $scope.patientIn.addressList[0].phoneNumbers[type]});
}
}
};
试试这个就行了
Html:<ng-form name="myForm" ng-controller="mainCtrl">
<div>Phone No :</div>
<div>
<input type="text" placeholder="9101234567" name="phone" minlength="10" maxlength="10" ng-pattern="phoneNumbr" ng-model="phone"/>
<span class="error" ng-show="myForm.phone.$error.minlength">Phone no not less that 10 char.</span>
<span class="error" ng-show="myForm.phone.$error.maxlength">Phone no not more than 10 char.</span>
<br><span class="error" ng-show="myForm.phone.$error.pattern">Please match pattern [9101234567]</span>
</div>
</ng-form>
脚本:
var app = angular.module('myApp', []);
app.controller('mainCtrl', function($scope) {
$scope.phoneNumbr = /^([2-9])(?!'1+$)'d{9}$/;
});
在这里,10
位中的1
被第一个位置2-9
消耗,然后接下来的9位可以来自0-9
。
需求实现:
a)包含10位数字。- 已完成
b)不应该以0或1开头。——
c)所有10位数字不应相同。——
工作小提琴: https://jsfiddle.net/rohitjindal/p0rcwon2/
谢谢。
一种方法是结合使用正则表达式和JavaScript。
正则表达式将负责:
- 不能以0或1开头
- 应该包含10位数字
JavaScript代码将负责:
- 10位数字不能相同
函数如下:
function validatePhone(p){
p = ''+p; //convert it to a string
var regex = /^[2-9]'d{9}$/;
return regex.test(Number(p)) && p.split('').reverse().join('') !== p
}
相关文章:
- 页面上的2个表单带有JS验证-其中一个抛出电子邮件验证错误
- 表单值未在单击按钮时发布,显示验证错误
- 无法使用JavaScript打印带有for循环的验证错误
- 为什么我的 JavaScript 会导致 HTML 验证错误
- 如何在单击“提交”按钮后保留经典 ASP 页(发生验证错误时)
- 如果验证错误,则停止回发
- JavaScript 中的验证错误
- 使用PayPal按钮登录 JavaScript 代码生成器验证错误
- gulp-jquery验证错误
- 如果发生验证错误,请阻止启动窗体打开
- 如何使用angular js在表单上显示服务器端验证错误消息
- Javascript订阅表单验证错误
- BrainTree Sandbox返回验证错误:-未知paymentMethodNonce
- Javascript表单验证错误
- jQuery.show()调用中弹出HTML5表单验证错误
- Jquery.在表单顶部验证错误消息
- jQuery:在验证错误之后,我的输入掩码函数不会'Don’不要在野外工作
- 如果验证错误是有效的JAVASCRIPT,则启用按钮
- 如何从HTML5输入中删除验证错误
- javascript中的单选按钮验证错误