【发布时间】:2014-10-10 17:21:01
【问题描述】:
我有一个程序,它读取用户输入的电话号码并返回国家代码(如果存在)、区号(如果存在)和本地 7 位电话号码。
该号码必须输入为 countrycode-area-local。因此,电话号码中最多可以有两个虚线。
例如:
1-800-5555678 有两个破折号(有国家代码和区号)
800-5555678 有一个破折号(只有区号)
5555678 没有破折号(只有本地号码)
因此,可以有 0 个破折号、一个破折号或两个破折号,但不能超过两个。
我想弄清楚的是如何计算字符串中破折号(“-”)的数量,以确保它们的实例不超过两个。如果有,它会打印一个错误。
到目前为止,我有:
if(phoneNumber ///contains more more than two dashed
{
System.out.println("Error, your input has more than two dashes. Please input using the specified format.");
{
else
{
//normal operations
}
到目前为止,除了这一部分之外,一切都有效。我不确定使用什么方法来做到这一点。我尝试查看 indexOf,但我很难过。
【问题讨论】:
-
1-800-555-1212不是合法电话号码吗? -
@azurefrog 此程序的要求不允许在 7 位本地电话号码中使用破折号。记得我说的是 countrycode-areacode-local
标签: java validation phone-number