javascript - 如何在Angular 7中使用+登录验证国家代码?
问题描述
我有一个文本框。在那里,用户可以使用 + 号输入国家代码。
如果他只输入数字,我们不应该允许他。他必须使用 + 符号输入国家代码 ex: +91, +230, ... 我正在互联网上搜索正则表达式。我在 Angular 7 中找不到好的解决方案。
代码:
ngOnInit() {
this.registerFormGroup = this.formBuilder.group({
clientId: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
mobileNumber: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
email: ['', Validators.compose([Validators.required, Validators.email, Validators.maxLength(1000)]) ],
countryCode: ['', Validators.compose([Validators.required, Validators.pattern('/^[- +()]*[0-9][- +()0-9]*$/')]), ],
});
}
解决方案
尝试一个正则表达式,+
并具有所需的位数
let regex = /^[+]\d{12}$/; // enter the total number if digits you want
let correct = '+911234567890'
let inCorrect = '911234567890'
console.log(regex.test(correct))
console.log(regex.test(inCorrect))
要\d
在角度形式的验证器中使用,看起来我们必须转义“反斜杠”,所以您的模式将如下所示:
Validators.pattern('^[+]\\d{12}$')
在此处查看示例:https ://stackblitz.com/edit/angular-hdctcl?file=src/app/app.component.html
或者,您可以使用:
Validators.pattern('^[+][0-9]{12}$')
推荐阅读
- z3 - 在 Z3 中,如何在可满足的“存在”查询中访问样本分配?
- pytorch - 如何计算邻接矩阵平方的高阶导数?
- python - 列表中项目的列表理解
- c# - 从包含特定列值的数据表中删除一行
- python - 在bash上运行python脚本时如何抑制KeyboardInterrupt输出?
- java - java spring 中的注解@Repository 是如何工作的?
- autodesk-forge - Autodesk Forge 令牌重新授权命令无法识别参数
- javascript - 通过 AJAX 将字典从 JS 发送到 Flask
- c# - 我遇到了这个错误
- css - 我可以使用两个溢出属性吗?