编写一个C#程序,判断输入的一串字符是否符合电话号码的格式?
3个回答
展开全部
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("电话号码存在非数字...");
}
}
}
}
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("电话号码存在非数字...");
}
}
}
}
}
展开全部
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;
}
}
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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一句而已,
用
regex.ismatch("电话号码的正则",
你的输入的号码)
因为你没具体说你的"电话号码的格式"是什么,
手机还是固定电话,带区号不,区号用括号还是横杆,
有没有分机号,井号什么的,
只是中国号码还是全世界的电话号码等等,
所以正则你要自己写.
下次问问题想清楚再问清楚.
用
regex.ismatch("电话号码的正则",
你的输入的号码)
因为你没具体说你的"电话号码的格式"是什么,
手机还是固定电话,带区号不,区号用括号还是横杆,
有没有分机号,井号什么的,
只是中国号码还是全世界的电话号码等等,
所以正则你要自己写.
下次问问题想清楚再问清楚.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询