Input AngularJs:如何格式化输入中的数据?

Input AngularJs:如何格式化输入中的数据?,input,formatting,angularjs,Input,Formatting,Angularjs,问题 我需要直观地格式化输入字段,以帮助用户知道他们应该键入什么电话号码。例如,我想将电话号码接受为3位区号、3位前缀和4位后缀:(207)555-1212。我想: 为输入字段提供帮助器格式——括号和连字符 我不希望“helper”字符包含在我存储在模型中的实际数据中 当用户键入时,我希望括号神奇地出现,然后连字符也出现在正确的点上 最好的方法是什么 注意:这不是用来显示数字的——我可以使用一个过滤器。这用于格式化输入字段中的数据 谢谢你的帮助 如果您正在寻找一个简单的解决方案,您可以尝试一下A

问题

我需要直观地格式化输入字段,以帮助用户知道他们应该键入什么电话号码。例如,我想将电话号码接受为3位区号、3位前缀和4位后缀:(207)555-1212。我想:

  • 为输入字段提供帮助器格式——括号和连字符
  • 我不希望“helper”字符包含在我存储在模型中的实际数据中
  • 当用户键入时,我希望括号神奇地出现,然后连字符也出现在正确的点上
  • 最好的方法是什么

    注意:这不是用来显示数字的——我可以使用一个过滤器。这用于格式化
    输入
    字段中的数据


    谢谢你的帮助

    如果您正在寻找一个简单的解决方案,您可以尝试一下AngularUI

    这是该页“掩码”部分的示例:

    <input ng-model="maskDemo" ui-mask="'99-99-9999'">
    
    
    

    “9”是数字,其他东西只是一个掩码/占位符。它应该只提交实际值。您可以编辑遮罩以包含括号和任何其他您可能需要的内容

    也许您需要一个自定义输入字段(小部件)?唯一的缺点是,当电话号码在别处查看或保存在数据库中时,它看起来像“9999999999”。@MyCodeSucks这通常是您想要的,去掉任何非数字,然后随时显示格式化的号码,您只需对其应用
    ui掩码