将电话号码保存到 Simple Schema / Collection2

Saving a telephone number to Simple Schema / Collection2

我正在使用具有简单架构和 collection2 的自动表单。在我的表格中,我收集了一个 phone 号码。 Phone 我住的地方的号码以 0 开头。当它保存到数据库时,0 被删除。我怎样才能阻止这种情况发生?

phone: {
  type: Number,
  optional: true,
  autoform: {
    afFieldInput: {
      type: "tel"
    }
  }
}

根据定义,数字存储时没有前导零 - 0123 不是有效数字。您要么需要在获取数据时添加前导零,要么将值存储为字符串。

将其另存为字符串 type: String 或在屏幕上显示时将其格式化为前导零。如果您还存储来自其他语言环境的数字并且您不知道它们使用的是什么格式,则后者会更难。

使用字符串并在其上添加正则表达式验证器

phone: {
  type: String,
  regEx: /^0{1}\d{10}$/, // or something like this
}

感谢大家的帮助。仅供那些可能有类似问题的人参考,请参阅下面的代码。 @corvid 建议使用 regEx 并且快速 google 显示了澳大利亚数字的解决方案。它似乎运作良好。再次感谢大家!

Link 正则表达式

phone: {
        type: String,
        regEx: /^\({0,1}((0|\+61)(2|4|3|7|8)){0,1}\){0,1}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{1}(\ |-){0,1}[0-9]{3}$/,
        optional: true,
        autoform: {
            afFieldInput: {
            type: "tel"
            }
        }
    },