我有这个正则表达式仅用于输入数字,并且工作正常。问题是我也想允许null。
validator="/([0-9])$/"
我尝试使用|但现在它允许一切
validator="/([0-9]|)$/"
有什么想法吗?
答案 0 :(得分:2)
我的建议是保持简单,以便您可以执行以下操作:
function MVCArrayBinder(mvcArray) {
this.array_ = mvcArray;
}
MVCArrayBinder.prototype = new google.maps.MVCObject();
MVCArrayBinder.prototype.get = function (key) {
if (!isNaN(parseInt(key))) {
return this.array_.getAt(parseInt(key));
} else {
this.array_.get(key);
}
};
MVCArrayBinder.prototype.set = function (key, val) {
if (!isNaN(parseInt(key))) {
this.array_.setAt(parseInt(key), val);
} else {
this.array_.set(key, val);
}
};
答案 1 :(得分:2)
您可以创建类似validator
示例:
const validator = number => ((/([0-9])$/).test(number) || number === null);
console.log(validator("dddd"))
console.log(validator(null))
console.log(validator(54))
答案 2 :(得分:1)
\d+|(?:null)
可以使用的测试集:
比赛:
0
9
01
910
9019901990199019
null
不匹配:
zero
one
答案 3 :(得分:0)
您所需要的只是您可以想象的最简单的内容:
<mat-select formControlName="news" name="description" id="id" [(ngModel)]="model.newsId" placeholder="{{'NewsName'}}" required>
<mat-option *ngFor="let news of newsDetails" [value]="news.id">
{{news.areaDescription ? news.areaCode +"-"+ news.areaDescription : news.areaCode }}
</mat-option>
</mat-select>