Problem:
Given a phone number, find whether number is valid or not.
Rule1: number should have 10 digits
Rule2: only numbers allowed
Rule1: number should have 10 digits
Rule2: only numbers allowed
Input Format:
n = no. of test cases
followed by n numbers in different lines
followed by n numbers in different lines
Output Format:
print corresponding error for each line. print "Valid number" for valid number
print corresponding error for each line. print "Valid number" for valid number
Constraints:
none
none
Sample Input
3
9876543210
999999999
9876543w21
9876543210
999999999
9876543w21
Sample Output:
valid phone number
Phone number should have length 10
Phone number should have numbers only
valid phone number
Phone number should have length 10
Phone number should have numbers only
Explanations:
for case 2, length is 9, so number is invalid
for case 2, length is 9, so number is invalid
Solution:
for($i=0;$i<$n;$i++)
{
chomp($s=<STDIN>);
@arr=split(//,$s);
$l=@arr;
$c=0;
if($l != 10)
{
push(@out,"Phone number should have length 10");
$c++;
}
foreach(@arr){
if($_ !~ /\d/)
{
push(@out,"Phone number should have numbers only");
$c++;
last;
}}
if($c == 0)
{
push(@out,"valid phone number");
}
}
foreach(@out)
{
print "$_\n";
}
Tips:
\d is used to match digits only. [0-9] can also be used.
No comments:
Post a Comment