怎麼知道自己會不會?做題目就知道了。
跟密碼有關的格式
設定密碼時常會碰到「大小寫」、「數字」和「特殊符號」之類的問題,所以這篇附上一個範例:
1 | // 必須包含大小寫英文、數字、特殊符號,且最短長度為 8 |
這段規則可以拆成這樣來解讀:
- 至少一個大寫字母
(?=.*?[A-Z])
- 至少一個小寫英文字母
(?=.*?[a-z])
- 至少有一位數字
(?=.*?[0-9])
- 至少有一個特殊字符
(?=.*?[#?!@$%^&*-])
- 最小八個長度
.{8,}
那個問題很多的日期格式
請你建立一個可以驗證 2021/12/15
這個格式的規則:
1 | const regExp = /^\d{4}\/\d{2}\/\d{2}$/ |
做的很好,但現在有些使用者抱怨說:「很煩欸?我就習慣打『2021-12-15』不行嗎?」
所以現在你要建立一個可以支援 2021/12/15
或 2021-12-15
這兩個格式的規則:
1 | const regExp = /^\d{4}[\/-]\d{2}[\/-]\d{2}$/ |
拿到的資料格式好亂
這邊假設資料的格式都是以「連續的英文或數字」來組成。但很不幸的是,在你拿到這些資料的時候,發先參雜了很多不必要的字元(逗號、換行、分隔):
1 | const data = ` |
所以請你想辦法建立一個規則,讓最後處裡完後的資料是 ['sn001', 'sn002', 'sn003']
這個格式:
1 | const data = ` |
可以幫我處理一下嗎,我都放在 * * 裡面了
你的好朋友阿吉最近設計了一款藏文遊戲,這個遊戲是要在時間內從一串假文中找出關鍵字,然後把這些關鍵字組合成一段完整的句子。
阿吉為了怕自己哪天回來看的時候找個老半天,阿吉在自己的草案裡都會用 *
來把關鍵字給標記起來。
現在阿吉知道你剛學了正規表達式,所以希望你幫忙寫一個程式,可以讓他把「包在 *...*
的文字給取出來」,好讓他每次可以少掉 50% 的時間在檢查自己的藏文字遊戲。
1 | const paragraph = `Lorem Ipsum *star* is simply dummy text of the *burst* and *stream* industry.` |