// 常見的 正則表達式 校驗 // QQ號、手機號、Email、是否是數字、去掉前后空格、是否存在中文、郵編、身份證、URL、日期格式、IP let myRegExp = { // 檢查字符串是否為合法QQ號碼 isQQ: function (str) { // 1 首位不能是0 ^[1-9] // 2 必須是 [5, 11] 位的數字 \d{4, 9} let reg = /^[1-9][0-9]{4,9}$/gim; if (reg.test(str)) { console.log('QQ號碼格式輸入正確'); return true; } else { console.log('請輸入正確格式的QQ號碼'); return false; } }, // 檢查字符串是否為合法手機號碼 isPhone: function (str) { let reg = /^(0|86|17951)?(13[0-9]|15[012356789]|18[0-9]|14[57]|17[678])[0-9]{8}$/; if (reg.test(str)) { console.log('手機號碼格式輸入正確'); return true; } else { console.log('請輸入正確格式的手機號碼'); return false; } }, // 檢查字符串是否為合法Email地址 isEmail: function (str) { let reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; if (reg.test(str)) { console.log('Email格式輸入正確'); return true; } else { console.log('請輸入正確格式的Email'); return false; } }, // 檢查字符串是否是數字 isNumber: function (str) { let reg = /^\d+$/; if (reg.test(str)) { console.log(str + '是數字'); return true; } else { console.log(str + '不是數字'); return false; } }, // 去掉前后空格 trim: function (str) { let reg = /^\s+|\s+$/g; return str.replace(reg, ''); }, // 檢查字符串是否存在中文 isChinese: function (str) { let reg = /[\u4e00-\u9fa5]/gm; if (reg.test(str)) { console.log(str + ' 中存在中文'); return true; } else { console.log(str + ' 中不存在中文'); return false; } }, // 檢查字符串是否為合法郵政編碼 isPostcode: function (str) { // 起始數字不能為0,然后是5個數字 [1-9]\d{5} let reg = /^[1-9]\d{5}$/g; if (reg.test(str)) { console.log(str + ' 是合法的郵編格式'); return true; } else { console.log(str + ' 是不合法的郵編格式'); return false; } }, // 檢查字符串是否為合法身份證號碼 isIDcard: function (str) { let reg = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/; if (reg.test(str)) { console.log(str + ' 是合法的身份證號碼'); return true; } else { console.log(str + ' 是不合法的身份證號碼'); return false; } }, // 檢查字符串是否為合法URL isURL: function (str) { let reg = /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i; if (reg.test(str)) { console.log(str + ' 是合法的URL'); return true; } else { console.log(str + ' 是不合法的URL'); return false; } }, // 檢查字符串是否為合法日期格式 yyyy-mm-dd isDate: function (str) { let reg = /^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/; if (reg.test(str)) { console.log(str + ' 是合法的日期格式'); return true; } else { console.log(str + ' 是不合法的日期格式,yyyy-mm-dd'); return false; } }, // 檢查字符串是否為合法IP地址 isIP: function (str) { // 1.1.1.1 四段 [0 , 255] // 第一段不能為0 // 每個段不能以0開頭 // // 本機IP: 58.50.120.18 湖北省荊州市 電信 let reg = /^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/gi; if (reg.test(str)) { console.log(str + ' 是合法的IP地址'); return true; } else { console.log(str + ' 是不合法的IP地址'); return false; } } };