编写一个C#程序,判断输入的一串字符是否符合电话号码的格式?

 我来答
彭偲0fa278
2011-10-19 · 超过18用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:43.5万
展开全部
package practice;
import java.util.*;
public class Phone
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String phone = ""; //接收输入的电话号码
int index = 0; //接收电话号码中‘-’的索引
boolean number = true;
System.out.print("请输入电话号码:");
phone = input.next();
//验证电话号码的位数是否正确(XXXX-XXXXXXXX)
if(phone.length()!=13)
{
System.out.println("电话号码位数不正确...");
}
else
{
//先验证电话号码中是否有‘-’如果有,再验证‘-’的位置是否正确(xxxx-xxxxxxxx)
index = phone.indexOf('-');
if(index==0||index!=4)
{
System.out.println("电话号码格式不正确!");
}
else
{
//验证区号和电话号码是否都为数字
String leftphone = phone.substring(0,index); //截取区号
String rightphone = phone.substring(index+1); //截取电话号码
//通过foreach验证
for(int i=0;i<leftphone.length();i++)
{
char a = leftphone.charAt(i);
if(a<'0'||a>'9') //比较的是内存中的AS码
{
number = false;
break;
}
}
for(int i=0;i<rightphone.length();i++)
{
char a = rightphone.charAt(i);
if(a<'0'||a>'9')
{
number = false;
break;
}
}
if(number==true)
System.out.println("你的电话号码为:"+phone);
else
System.out.println("电话号码存在非数字...");
}
}
}
}
追问
我要的是c#程序,你这个好像是java的吧
追答
额、看花眼了!方法是一样的!就是代码有点区别而已!C#更简单!我改下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
String phone = ""; //接收输入的电话号码
int index = 0; //接收电话号码中‘-’的索引
bool number = true;
Console.Write("请输入电话号码:");
phone = Console.ReadLine();
//验证电话号码的位数是否正确(XXXX-XXXXXXXX)
if (phone.Length != 13)
{
Console.WriteLine("电话号码位数不正确...");
}
else
{
//先验证电话号码中是否有‘-’如果有,再验证‘-’的位置是否正确(xxxx-xxxxxxxx)
index = phone.IndexOf('-');
if(index==0||index!=4)
{
Console.WriteLine("电话号码格式不正确!");
}
else
{
//验证区号和电话号码是否都为数字
String leftphone = phone.Substring(0,index); //截取区号
String rightphone = phone.Substring(index+1); //截取电话号码
//通过foreach验证
foreach(char a in leftphone)
{
if(a'9') //比较的是内存中的AS码
{
number = false;
break;
}
}
foreach(char a in rightphone)
{
if(a'9') //比较的是内存中的AS码
{
number = false;
break;
}
}
if(number==true)
Console.WriteLine("你的电话号码为:"+phone);
else
Console.WriteLine("电话号码存在非数字...");
}
}
}
}
}
51Try
2011-10-19 · TA获得超过645个赞
知道小有建树答主
回答量:250
采纳率:100%
帮助的人:132万
展开全部
Console.WriteLine("请输入电话号码:");
string str = Console.ReadLine();
while (str.Length<=0||str.Length!=8)
{
if (str.Length<=0)
{
Console.WriteLine("电话号码不能为空!");
Console.WriteLine("请重新输入:");
str = Console.ReadLine();
}
if (str.Length!=8)
{
Console.WriteLine("你输入的电话号码不足8位!");
Console.WriteLine("请重新输入:");
str = Console.ReadLine();
}

}

//以下遍历号码的每一位是否为数字
foreach (char item in str)
{
int num;
if (int.TryParse(item.ToString(),out num))
{
Console.WriteLine("你输入的{0}符合电话号码!",str);
break;
}
else
{
Console.WriteLine("你输入的{0}不符合电话号码格式!",str);
break;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
锐宝卫锐逸
2019-10-14 · TA获得超过1115个赞
知道小有建树答主
回答量:1696
采纳率:96%
帮助的人:7.7万
展开全部
一句而已,

regex.ismatch("电话号码的正则",
你的输入的号码)

因为你没具体说你的"电话号码的格式"是什么,
手机还是固定电话,带区号不,区号用括号还是横杆,
有没有分机号,井号什么的,
只是中国号码还是全世界的电话号码等等,
所以正则你要自己写.

下次问问题想清楚再问清楚.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式