Given a text file file.txt that contains list of phone numbers (one per line),
write a one liner bash script to print all valid phone numbers.
You may assume that a valid phone number must appear
in one of the following two formats: (xxx) xxx-xxxx or xxx-xxx-xxxx. (x means a digit)
You may also assume each line in the text file must not contain leading or trailing white spaces.
input: list of phone numbers (one per line)
output: valid phone (xxx) xxx-xxxx or xxx-xxx-xxxx
Example:
Assume that file.txt has the following content:
987-123-4567
123 456 7890
(123) 456-7890
Your script should output the following valid phone numbers:
987-123-4567
(123) 456-7890
Edge Case
只有數字?
前面沒有空格
怎麼解
這題是 bash ,自己把它變成判斷是否 valid
var validPhone = function(num) {
let re = /[\(]*\d{3}[\)]*[ -]\d{3}-\d{4}/
return num.search(re);
};
console.log(validPhone("987-123-4567"))
console.log(validPhone("(123) 456-7890"))