Soru
Programcıdan, belli düzene sahip ve sadece sayılardan oluşan telefon numaralarının istenen (123) 456-7890 format/biçime uygun olup olmadığını tespit edebilen bir program oluşturması isteniyor. Girilen telefon numarası (girilenTelefonNumarasi) uygun ise programın kullanıcıya olumlu yanıt vermesi, değilse olumsuz yanıt gösterilmesi ise ek olarak belirtiliyor.
Örnek
Girdi | Çıktı |
---|---|
girilenTelefonNumarasi: 321 9991133 | Sonuç: Maalesef istenen düzende değil… |
girilenTelefonNumarasi: (312) 188-7733 | Sonuç: Numara düzgün formatta |
Çözüm - C#
using System;
using System.Text.RegularExpressions;
internal class Program
{
private static void Main(string[] args)
{
string girilenTelefonNumarasi = "(123) 456-7890";
// Girilen telefon numarası Regex sınıfı kontrol et
Regex numaraKontrol = new Regex(@"^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[-]\d{4}$");
// İstenen desen telefon numarası ile eşleşiyorsa
if (numaraKontrol.IsMatch(girilenTelefonNumarasi))
{
Console.WriteLine("Numara düzgün formatta");
}
else
{
Console.WriteLine("Maalesef istenen düzende değil...");
}
Console.Read();
}
}
Çözüm - Java
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String girilenTelefonNumarasi = "(123) 456-7890";
// Girilen telefon numarası Pattern sınıfı ile kontrol et
Pattern numaraKontrol = Pattern.compile("\\(\\d{3}\\) \\d{3}-\\d{4}");
// İstenen desen telefon numarası ile eşleşiyorsa
if (numaraKontrol.matcher(girilenTelefonNumarasi).matches())
{
System.out.println("Numara düzgün formatta");
} else
{
System.out.println("Maalesef istenen düzende değil...");
}
}
}