我需要能够根据以下功能验证输入:
有两种类型的ID:
A型:
12345678
45355678
53242234
B类:
12345678-A1
32454353-A1
32454353-B1
正如您所看到的,类型A只有数字而类型B的数字后跟连字符,然后是字母值和数字值(序列是严格的)。
所以我需要做的是创建第二个正则表达式以验证B类ID,但我甚至不知道如何开始。
这是指令:
app.directive('codeType', function() {
return {
scope: {
codeType: '='
},
require: 'ngModel',
link: function(scope, element, attr, ngModelCtrl) {
function codeTypeA(text) {
if (text) {
var transformedInput
if (!scope.codeType) {
transformedInput = text.replace(/[^1-9]/g, '');
} else {
// Type B code regex
transformedInput = text.replace(/[^1-9]/g, '');
}
if (transformedInput !== text) {
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
return transformedInput;
}
return undefined;
}
ngModelCtrl.$parsers.push(codeTypeA);
}
}
});
p.s。 这是验证两种类型值的好方法吗?有更好的解决方案吗?