当前位置: 首页 > 知识库问答 >
问题:

在将电话号码存储为字符串时,如何防止错误的输入?

隆康平
2023-03-14

我正在创建一个电话簿程序,可以阅读vcards。问题是电话号码。通常情况下,他们在美国会是这样的:

共有1个答案

陆涵畅
2023-03-14

一定要使用字符串,但要验证它。仅仅因为它是一个字符串并不意味着你必须接受任何数据。您应该考虑使用正则表达式(或者一系列正则表达式)来验证数据。

不要仅仅局限于特定的字符--例如,您不想接受“)0(”作为电话号码--使用合理的模式。维基百科关于电话号码的本地约定的页面可能会在这方面有所帮助--或者你可以寻找其他来源。你也可能想要考虑一些宽松,因为不是每个人都会遵循确切的模式。不过,有一个微妙的平衡需要实现。

 类似资料:
  • 问题内容: 我一直在存储电话号码,所以我想在将电话号码打印为字符串时简单地添加连字符。 我尝试使用,但是不喜欢连字符。可能是因为它用于格式化十进制数字而不是long。 理想情况下,我也想在区号上加上括号。 正确的方法是什么? 问题答案: 这就是我最终这样做的方式: 我知道这不支持国际号码,但是我不是在编写“真实”应用程序,因此我对此并不担心。我只接受10个字符作为电话号码。我只是想以某种格式打印它

  • 我有一个程序,读取用户输入的电话号码,并返回国家代码(如果存在)、区号(如果存在)和本地7位电话号码 号码必须输入为countrycode area local。所以,电话号码中最多可以有两个虚线。 例如: 1-800-5555678有两个破折号(有国家代码和区号) 800-5555678有一个破折号(只有区号) 5555678没有破折号(只有本地号码) 所以,零破折号、一破折号或两破折号都可以,

  • 问题内容: 我对Java和Android都缺乏经验。我正在尝试检索存储在android手机模拟器的联系人之一中的电话号码。当我成功获取它时,该数字已以字符串形式返回,格式为“(987)654-3210”。我想将其转换为整数或长整数。我怎样才能做到这一点?如果使用,它将返回一个。尝试使用时也失败。那我该怎么办?我想要没有任何大括号或连字符的“ 9876543210”。 问题答案: 使用储存号码会更好

  • 问题内容: 我试图从给定的字符串中提取java中的电话号码,即电话号码可以在String中的任何地方,例如。现在我想在另一个String中提取此电话号码。 在使用 它会返回真还是假,但我没有获取提取的电话号码。 问题答案:

  • 问题内容: 我从“联系人”中导入电话号码并保存在中。此字符串包含空格,我尝试使用方法将其删除: 这种方法行不通。 输出不变 日志 问题答案: 我怀疑您字符串中的空格字符实际上不是空格。请尝试在后面添加此代码,以查看字符串中字符的unicode标量值是什么: “((327)124-3503)”的预期输出为: 从您的评论中,您的空间值为160而不是32。您可以使用以下方法将其删除:

  • 问题内容: 在运行我的代码时,我得到了: 如何防止此异常发生? 问题答案: 不是整数。如果尝试将其解析为整数,则必须抛出该异常。 解析前请检查或Exception正确处理。 异常处理 或- 整数模式匹配