javascript - Angular 2-根据模式更改文本显示格式

标签 javascript jquery html angular

我想更改手机号码文本字段输入的显示格式。 前任。

对于号码 1212121212,它应该在文本内显示 (121) 212-1212,并且仅供查看。我还想要将其插入数据库的全文。 我如何在 Angular 2 文本输入中实现此目的?

<p>How it is now</p>
<input type="text" value="1212121212" name="mobile"><br>
<p>How it should look</p>
<input type="text" value="(121) 212-1212" name="mobile2">

最佳答案

你可以做something like this 使用管道(只需在输入末尾添加一个数字)。

我当然使用一个非常简单的正则表达式,但您可以创建您想要的正则表达式。

transform(value: string, args?: any): any {
  const regex: RegExp = new RegExp(/(\d{3})(\d{3})(\d{4})/);
  const match = value.match(regex);
  if(match) {
    return `(${match[1]})${match[2]}-${match[3]}`;
  } else {
    return value;
  }
}

关于javascript - Angular 2-根据模式更改文本显示格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49425591/

相关文章:

javascript - 如何区分用户点击和 .click()?

javascript - 如何从 create-react-app 迁移到 typescript?

html - Twitter Bootstrap,表格包装表格导致表格未对齐

javascript - 在选择选项中为所选元素设置背景颜色(多个)

javascript - jQuery 在表中搜索元素

javascript - 防止浏览器捕捉到后退按钮上的上一个滚动位置

jQuery 动画底部填充

html - 为什么下拉菜单中的文本高于相邻 div 中的文本?

javascript - Chrome/FF 中的竞争条件

javascript - 为什么该指令中的所有键绑定(bind)都会被最后一个键绑定(bind)覆盖?