# #193 Valid Phone Numbers

[LeetCode](https://leetcode.com/problems/valid-phone-numbers/)

```
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"))
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hannahpun.gitbook.io/leetcode-note/string/193-valid-phone-numbers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
