--- tags: Javascript, disqus: hackmd --- # 正規表達式範例 生日 符合規則: dd/mm/yyyy ``` /^([\d]{2}[/])([\d]{2}[/])([\d]{4})$/g ``` 瘋狂模式(純粹好玩,很容易爆掉) ``` /^([0][1-9]|[1-2][0-9]|[3][0-1])[\/]([0-1][1-9]|[01][0-2])[\/](19|20)([\d]{2})$/g ``` Day => 限制數字須為 01-31之間 Month => 限制數字須為 01-12之間 Year => 限制數字須為 19 或 20 開頭的四位數 ===================================================== Email 請參考這個神網 http://emailregex.com/ 也可以自己寫一個簡易的 ===================================================== 身分證字號 符合規則:第一個字為英文(可大小寫),後面為9位數數字 ``` /^\[a-zA-z]([0-9]{9})$/g ``` ===================================================== 帳號 符合規則:4~15 碼英文大小寫及數字 ``` /^([a-zA-Z0-9]){4,15}$/g ``` ===================================================== 密碼 符合規則:6-12 大小寫英文及數字(密碼中至少要包含一個英文大寫) ``` /^(?=.*[A-Z])[a-zA-Z0-9]{6,12}$/g ``` ===================================================== 暱稱 符合規則:名稱中不可包含 {}[]"", 並且僅能輸入 2-10字元 ``` /^[^{}\]\["]{2,10}$/g ``` ===================================================== 真實姓名 符合規則:不可輸入數字、空白及特殊符號 最多6字 ``` /^[a-zA-Z\u4e00-\u9fa5]{1,6}$/g ``` ===================================================== 英文姓名 符合規則:可輸入英文大小寫、空白、單引號及底線 ``` /^[a-zA-Z _']+$/g ``` ===================================================== 國家 符合規則:不能輸入特殊符號,但可以輸入空格 ``` /^([^\W]|[ \u4e00-\u9fa5])+$/g ``` ===================================================== 手機 符合規則:僅能數字但可以包含+開頭 ``` /^([+]?)([\d]+)$/g ``` ===================================================== 可以去除字首字尾為空白 ``` str.value.split(/([\S][\w\W\s]+[\S])/g)[1] ``` ===================================================== 可以把包含小數點的數字寫成以下: ex: 123.34 輸出成 => 『整數:123, 小數點:0.34』 ``` str.value.replace(/([0-9]+)[\.]?([\d]+)?/, '『整數:$1, 小數點:0.$2』'); ``` 也可以搭配驗證,確認輸入為數字後再使用split分開數字然後再組起來 ``` /^([\d]+)(([\.][\d]+)?)$/g ``` ```javascript= var splitString = function2.value.split('.'); if (splitString[1] && splitString[1] !== '0') { function2Notice.innerHTML = '『整數:'+ splitString[0] +', 小數點:0.'+ splitString[1] +'』'; } else if (result) { function2Notice.innerHTML = '『整數:'+ splitString[0] +',』'; } ```