# 作業一 (通關作業)
```js
var str = “fjskfjsl fjkdsjfkls fjklsfjlsd127.0.0.1fjksldfjafjio jfk192.168.1.101sljfs fsdjfkldsfjsklfsklffjoijfoiaf asfjs fed jfjf jf sdjfsi jfi jafis function dd ( ) { }afjsdiajf iosa function abc(){} jfisjad fjsaiofjaoissf addedfds0.0.0.0”
```
寫兩個正則表達式,一個是匹配 `127.110.60.1` 和 `192.168.1.101` 。
另一個是正則表達式,要匹配 `javascript 函數`。
## 完善作業
```js
var str = “fjskfjsl fjkdsjfkls fjklsfjlsd127.0.0.1fjksldfjafjio
027.22.222.210jfk192.168.1.101sljfs fsdjfkldsfjsklfs192.168.1688.10klffjoijfoiaf 192.168.0.1asfjs fed jfjf jf sdjfsi jfi jafis function dd ( ) { }afjsdiajf iosa function abc(){} jfisjad fjsaiofjaoissf addedfds function 00(){} function a(){} function ab(parmas){} function AbcdCde(parmas){}”
```
1. 上面第一個正則是匹配 `127.110.60.1` 和 `192.168.1.101` 這種情況,現在需要完善正則,能匹配IPv4地址。比如 `027.110.60.1`,`192.168.1.1011`這些是不能匹配的
2. 用上面的str再次校驗是否能匹配 `javascript 函數`
## 作業點評
##### 第一個正則
如果真要匹配IPv4的IP地址,那要思考以下幾點:
1. 要考慮`027.110.60.1`,`192.168.1.1011`,`a92._68.1.10$`,`256.255.255.255`這些是不能匹配的,`0.0.0.0`,`255.255.255.255`等情況是應該能匹配的
##### 第二個正則
1. 函數名可以是大小寫混合,要熟悉函數命名規范,比如不能以數字開頭等。
2. 注意聲名過程中可能會有多余的空格,但這也是能正常命名函數的。
3. 是否會帶上形參,形參的命名是否有要求。
## 擴展作業(實戰項目中會遇到的業務需求)
#### 實現幾個正則
1. 常用email
2. 中國手機號碼
3. 身份證號碼
4. 大于6位以字母開頭的用戶名
5. 大于6位的含數字大小寫字母的密碼, 或者再加上有特殊符號的密碼
## 參考代碼
無
- [分享]微信小程序入門與實戰
- 學習大綱
- 關于學習的一些常見問題
- 第一周
- 每周作業
- 玩練作業
- 知識點
- 正確設置PORT端口(windows/mac)
- 發布npm包
- 第二周
- 每周作業
- [作業一 (通關作業)](第二周/作業一 (通關作業).md)
- 作業二 (通關作業)
- 作業三 (通關作業)
- 作業四(可選)
- 作業五(可選)
- 知識點
- 原型鏈及繼承的理解
- 第三周
- 每周作業
- 作業一 (通關作業)
- 作業二 (通關作業)
- 作業三 (通關作業)
- 作業四(可選)
- 知識點
- 正則表達式常用方法
- promise用法
- 常用正則表達式大全
- 第四周
- 每周作業
- 玩練作業
- 知識點
- 第五周
- 每周作業
- 作業一(通關作業)
- 作業二 (通關作業)
- 作業三(玩練作業)
- 知識點
- 第六周
- 每周作業
- [作業一(通關作業)](第六周/作業一(通關作業).md)
- 知識點
- 第七周
- 每周作業
- 作業一(玩練)
- 作業二(玩練)
- 作業三(通關)
- 作業四(通關)
- 知識點
- 第八周
- 每周作業
- 作業一(玩練)
- 作業二(玩練)
- 作業三(通關)
- 知識點
- 第九周
- 每周作業
- 作業一(玩練)
- 作業二(玩練)
- 作業三(玩練)
- 作業四(通關)
- 知識點
- 第十周
- 每周作業
- 作業一(玩練)
- 知識點