javascript - Angular FormBuilder 美国电话号码正则表达式 (xxx) xxx-xxxx
问题描述
我正在尝试编写一个 Angular 正则表达式验证器,
匹配此模式且仅此模式适用于电话,精确空格
(444) 333-2222
如何才能做到这一点?
this.productForm = this.formBuilder.group({
'homephoneNumber': [null, [PhoneUSValidator]],
处理此代码: 尝试在第一个括号后添加空格,不确定是否正确
export const PhoneUSValidator = Validators.pattern(/^(\d{3}\)\d{3}\-\d{4}$/);
解决方案
你需要
- 在您期望它在字符串中的位置添加一个文字空格(或
\s
允许任何空格) - 之后转义
(
字符,^
因为您需要匹配文字左括号。 - 不要转义
-
字符类之外的内容,即不在字符类内部[...]
。
您可以使用
/^\(\d{3}\) \d{3}-\d{4}$/
查看正则表达式演示
细节
^
- 字符串的开始\(
- 一个(
字符\d{3}
- 三位数\)
- 一个)
字符\d{3}-\d{4}
- 三位数,连字符,四位数$
- 字符串结束。
推荐阅读
- python - 熊猫将两列分组为主列
- python - 获取“表”附近的记录时发生异常:Python 中的语法错误
- twitter-bootstrap - Bootstrap / vue 响应式“蛇”列,其中交替的“行”被反转
- flutter - 颤振中的小部件回调
- git - Windows 上的 Reposurgeon
- javascript - 单击选择标签时禁用手风琴打开
- azure-ad-b2c - 自定义 SAML 策略解密方法
- flutter - 带有 setState 的对话框中的 listView
- rust - 解构期权
> 在 Rust 的 match 语句中 - java - 从命令行覆盖spring config服务器配置