1/** 2 * é®ç®±æ ¼å¼æ£åéªè¯ 3 * @param email 4 * @returns {boolean} 5 */ 6function emailReg(email) { 7 let reg = /^[\da-zA-Z]+([\-\.\_]?[\da-zA-Z]+)*@[\da-zA-Z]+([\-\.]?[\da-zA-Z]+)*(\.[a-zA-Z]{2,})+$/i; 8 return reg.test(email); 9} 10 11/** 12 * ææºå·ç æ ¼å¼æ£åéªè¯ 13 * @param phone 14 * @returns {boolean} 15 */ 16function phoneReg(phone) { 17 let reg = /^1[3456789]\d{9}$/; 18 return reg.test(phone); 19} 20 21/** 22 * ç¨æ·åæ£åï¼æé¿10åç¬¦ï¼æ¯æä¸æãè±æ 23 * @param name 24 * @returns {boolean} 25 */ 26function userNameReg(name) { 27 let reg = /^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z]){1,10}$/; 28 return reg.test(name); 29} 30 31/** 32 * å¯ç æ£åï¼8-16åç¬¦ï¼æ¯æåæ¯ãæ°å以åç¹æ®ç¬¦å· 33 * @param password 34 * @returns {boolean} 35 */ 36function userPasswordReg(password) { 37 // let reg = /^(\w){8,16}$/; 38 // let reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,16}$/; 39 let reg = /^[A-Za-z0-9~!@#$%^&*()_+`\-={}:";'<>?,.\/]{8,16}$/; 40 return reg.test(password); 41} 42 43/** 44 * å忣å 45 * @param domain 46 * @returns {boolean} 47 */ 48function domainReg(domain) { 49 // let reg = /^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})$/; 50 // let reg = /^(?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,}$/; 51 // const reg = /^(?:[-A-Za-z0-9\u4E00-\u9FFF]+\.)+[A-Za-z\u4E00-\u9FFF]{2,}$/; 52 // return reg.test(domain); 53 return true; 54} 55 56function hasScheme(domain) { 57 const reg = /^https?:\/\/.+/; 58 return reg.test(domain); 59} 60 61/** 62 * IPå°åæ£å 63 * @param ip 64 * @returns {boolean} 65 */ 66function ipReg(ip) { 67 let reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; 68 return reg.test(ip); 69} 70 71/** 72 * é颿£å 73 * @param number 74 * @returns {boolean} 75 */ 76function numberReg(number) { 77 let reg = /^(\d|([1-9]\d+))(\.\d{1,2})?$/; 78 return reg.test(number); 79} 80 81/** 82 * èº«ä»½è¯æ£å æ¯æ1代2代 83 * @param idCard 84 * @returns {boolean} 85 */ 86function idCardReg(idCard) { 87 let reg = /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/; 88 return reg.test(idCard); 89} 90 91/** ç«¯å£æ£åéªè¯*/ 92function portReg(port) { 93 if (/^[1-9]\d*|0$/.test(port) && port * 1 >= 0 && port * 1 <= 65535) { 94 return true 95 } 96 return false; 97} 98 99/** urlæ£åéªè¯*/ 100function urlReg(url) { 101 let reg = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/; 102 return !!reg.test(url); 103} 104 105/** QQå·æ£åéªè¯*/ 106function qqReg(qq) { 107 let reg = /^[1-9][0-9]{4,9}$/gim; 108 return reg.test(qq); 109} 110 111/** æ£æ´æ°æ£å*/ 112function integerReg(positiveInteger) { 113 let reg = /^\d+$/; 114 return reg.test(positiveInteger); 115} 116 117/** å¾çæ ¼å¼æ£å*/ 118function verifySuffix(fileName) { 119 let suffix = `(bmp|jpg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp|jpeg)` 120 let regular = new RegExp(`.*\.${suffix}`) 121 return regular.test(fileName) 122} 123 124/** 嫿httpæè httpsçæ£å*/ 125function verifyUrlPrefix(url) { 126 let reg = /^(http|https):\/\/[^\s]+$/i; 127 return reg.test(url) 128} 129 130/** 嫿httpæè httpsçæ£å*/ 131function verifyUrlPrefixWithEnd(url) { 132 let reg = /^(https?:\/\/).*\/$/; 133 return reg.test(url) 134} 135 136/** æ£åéªè¯æ¯å¦æ¯ä¸å°äº1çå°æ°ï¼å°æ°ä½æ°ä¸è¶ è¿2*/ 137function validatePositiveDecimal(input) { 138 let regex = /^(?!0$|0\.0{0,2}$|1$|1\.0{0,2}$)[0-9](\.[0-9]{1,2})?$/; 139 return regex.test(input); 140} 141 142/**ååé ç½®çä¸äºæ£å*/ 143function certNameReg(certName) { 144 let regex = /^[a-zA-Z0-9_-]{3,64}$/; 145 return regex.test(certName); 146} 147 148function dirpathReg(dirpath) { 149 const regex = /^(\/[^\/]+)+$|^(\/[^\/]+)+\/$/; 150 return regex.test(dirpath); 151} 152 153function fileSuffixReg(fileSubffix) { 154 let regex = /^\.?[a-zA-Z0-9_]+([,;ï¼ï¼]\.?[a-zA-Z0-9_]+)*$/; 155 return regex.test(fileSubffix); 156} 157 158function fullDirPathRef(fullDirPath) { 159 let regex = /^(?:\/[^\/]+)*\/\w+(?:\.\w+)?$/; 160 return regex.test(fullDirPath); 161} 162 163//å¹é 186.33.22.1 blog.kedaya.site *.kedaya.siteè¿ä¸ç§ 164function antiLeechLinkReg(antiLeechLink) { 165 let regex = /^(?:\*\.)?(?:[a-zA-Z0-9_-]+\.){1,}[a-zA-Z]{2,}$|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; 166 return regex.test(antiLeechLink); 167} 168 169//以䏿¯ä¸ä¸ªå¯ä»¥å¹é IPv4åIPv6å°å以åCIDRåçJavaScriptæ£å表达å¼ï¼ 170function ipBlackWhiteReg(ipBlackWhite) { 171 let regex = /\b(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,2})?|[a-fA-F\d:]+:+[a-fA-F\d:]+\b/; 172 return regex.test(ipBlackWhite); 173} 174 175 176function uaHuaWeiReg(ua) { 177 let regex = /^[0-9a-zA-Z*.\-_();,\/\s]+$/g; 178 return regex.test(ua); 179} 180 181function uaVolReg(ua) { 182 let regex = /^(?![\u4e00-\u9fa5])(?! *$)(?!\*$)(?:\*?(?:[A-Za-z0-9])+\*?)$/; 183 return regex.test(ua); 184}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.