b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | function IsNumber(obj) { |
| 2 | if( typeof(obj) === 'string' ) |
| 3 | { |
| 4 | var r = /^-?\d+$/; |
| 5 | return r.test(obj); |
| 6 | } |
| 7 | if(typeof(obj) === "number") |
| 8 | { |
| 9 | if(obj.toString().indexOf(".") != -1) |
| 10 | return false; |
| 11 | else |
| 12 | return true; |
| 13 | } |
| 14 | return false; |
| 15 | } |
| 16 | |
| 17 | function textBoxMinLength(control,value) { |
| 18 | if(document.getElementById(control).value.length < value) |
| 19 | return false; |
| 20 | else |
| 21 | return true; |
| 22 | } |
| 23 | function IsChineseChar(value) { |
| 24 | if(/.*[\u0100-\uffff]+.*$/.test(value)) |
| 25 | { |
| 26 | return true; |
| 27 | } |
| 28 | else |
| 29 | { |
| 30 | return false; |
| 31 | } |
| 32 | } |
| 33 | |
| 34 | function textBoxMaxLength(control,value) { |
| 35 | if(document.getElementById(control).value.length > value) |
| 36 | return false; |
| 37 | else |
| 38 | return true; |
| 39 | } |
| 40 | |
| 41 | function textBoxLength(control,value) { |
| 42 | if(document.getElementById(control).value.length == value) |
| 43 | return true; |
| 44 | else |
| 45 | return false; |
| 46 | } |
| 47 | |
| 48 | function IsEmail(emailAddr) { |
| 49 | var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/; |
| 50 | if (pattern.test(emailAddr)) { |
| 51 | return true; |
| 52 | } |
| 53 | else { |
| 54 | return false; |
| 55 | } |
| 56 | } |
| 57 | |
| 58 | function IsPhoneNumber(phoneNumber) { |
| 59 | var pattern = /(^[0-9]{3,4}\-[0-9]{3,15}$)|(^\+?[0-9]{3,20}$)|(^\([0-9]{3,4}\)[0-9]{3,15}$)/; |
| 60 | if (pattern.test(phoneNumber)) { |
| 61 | return true; |
| 62 | } |
| 63 | else { |
| 64 | return false; |
| 65 | } |
| 66 | } |
| 67 | |
| 68 | |
| 69 | function isChineseChar(value) { |
| 70 | if(/.*[\u0100-\uffff]+.*$/.test(value)) |
| 71 | { |
| 72 | return true; |
| 73 | } |
| 74 | else |
| 75 | { |
| 76 | return false; |
| 77 | } |
| 78 | } |
| 79 | |
| 80 | function deviceNameValidation(str) { |
| 81 | if (isChineseChar(str)) { |
| 82 | return false; } |
| 83 | |
| 84 | if (str.toString().indexOf("#") != -1) |
| 85 | return false; |
| 86 | else if (str.toString().indexOf(":") != -1) |
| 87 | return false; |
| 88 | else if (str.toString().indexOf(" ") != -1) |
| 89 | return false; |
| 90 | else if (str.toString().indexOf("&") != -1) |
| 91 | return false; |
| 92 | else if (str.toString().indexOf(";") != -1) |
| 93 | return false; |
| 94 | else if (str.toString().indexOf("~") != -1) |
| 95 | return false; |
| 96 | else if (str.toString().indexOf("|") != -1) |
| 97 | return false; |
| 98 | else if (str.toString().indexOf("<") != -1) |
| 99 | return false; |
| 100 | else if (str.toString().indexOf(">") != -1) |
| 101 | return false; |
| 102 | else if (str.toString().indexOf("$") != -1) |
| 103 | return false; |
| 104 | else if (str.toString().indexOf("%") != -1) |
| 105 | return false; |
| 106 | else if (str.toString().indexOf("^") != -1) |
| 107 | return false; |
| 108 | else if (str.toString().indexOf("!") != -1) |
| 109 | return false; |
| 110 | else if (str.toString().indexOf("@") != -1) |
| 111 | return false; |
| 112 | else if (str.toString().indexOf(",") != -1) |
| 113 | return false; |
| 114 | else |
| 115 | return true;} |
| 116 | |
| 117 | function IsIPv6(ipv6Addr) { |
| 118 | return ipv6Addr.match(/:/g) != null |
| 119 | && ipv6Addr.match(/:/g).length <= 15 |
| 120 | && /::/.test(str) |
| 121 | ? /^([\da-f]{1,4}(:|::)){1,6}[\da-f]{1,4}$/i.test(str) |
| 122 | : /^([\da-f]{1,4}:){15}[\da-f]{1,4}$/i.test(str); |
| 123 | } |
| 124 | |
| 125 | function IsIPv4(ipv4Addr) { |
| 126 | var exp=/^(\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])$/; |
| 127 | return null == ipv4Addr.match(exp) ? false: true; |
| 128 | return true; |
| 129 | } |
| 130 | |
| 131 | function IsUrl(strUrl){ |
| 132 | var regUrl = /(http\:\/\/)?([\w.]+)(\/[\w- \.\/\?%&=]*)?/gi; |
| 133 | if (regUrl.test(strUrl)) { |
| 134 | return true; |
| 135 | } |
| 136 | else { |
| 137 | return false; |
| 138 | } |
| 139 | } |
| 140 | |
| 141 | function IsHexStr(str){ |
| 142 | pattern = /^[0-9a-fA-F]+$/; |
| 143 | if (pattern.test(str)) { |
| 144 | return true; |
| 145 | } |
| 146 | else { |
| 147 | return false; |
| 148 | } |
| 149 | } |
| 150 | |
| 151 | function IsASCIIStr(str){ |
| 152 | pattern = /^[\x00-\x7F]+$/; |
| 153 | if (pattern.test(str)) { |
| 154 | return true; |
| 155 | } |
| 156 | else { |
| 157 | return false; |
| 158 | } |
| 159 | } |
| 160 | |
| 161 | function IsEnglishLetter(str){ |
| 162 | pattern = /[a-zA-Z]+/; |
| 163 | if (pattern.test(str)) { |
| 164 | return true; |
| 165 | } |
| 166 | else { |
| 167 | return false; |
| 168 | } |
| 169 | } |
| 170 | |
| 171 | function IsMACAddr(mac) { |
| 172 | var regex = /^([0-9a-f]{2}([:-]|$)){6}$|([0-9a-f]{4}([.]|$)){3}$/i; |
| 173 | if (!regex.test(mac)) |
| 174 | return false; |
| 175 | else |
| 176 | return true; |
| 177 | } |
| 178 | |
| 179 | //time format: hh:mm:ss |
| 180 | function IsTime(time) { |
| 181 | var regex = /^([0-1]?\d{1}|2[0-3]):[0-5]?\d{1}:([0-5]?\d{1})$/; |
| 182 | if (!regex.test(time)) |
| 183 | return false; |
| 184 | else |
| 185 | return true; |
| 186 | } |
| 187 | |
| 188 | //time format: hh:mm |
| 189 | function IsTimeEx(time) { |
| 190 | //var regex = /^(([0-1]\d)|(2[0-4])):[0-5]\d$/; |
| 191 | var regex =/^([0-1]{1}\d|2[0-3]):([0-5]\d)$/; |
| 192 | if (!regex.test(time)) |
| 193 | return false; |
| 194 | else |
| 195 | return true; |
| 196 | } |
| 197 | |
| 198 | //date format: yyyy-mm-dd |
| 199 | function IsData(date) { |
| 200 | var regex = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/; |
| 201 | if (!regex.test(date)) |
| 202 | return false; |
| 203 | else |
| 204 | return true; |
| 205 | } |
| 206 | |
| 207 | //port format: xxxx:yyyy |
| 208 | function IsPort(port){ |
| 209 | var portArr = port.split(":"); |
| 210 | for(var idx = 0; idx < 2; ++idx){ |
| 211 | if("" == portArr[idx]) |
| 212 | return false; |
| 213 | |
| 214 | if(portArr[idx]>65535 || portArr[idx] < 0) |
| 215 | return false; |
| 216 | } |
| 217 | if(portArr[0] > portArr[1]) |
| 218 | return false; |
| 219 | |
| 220 | return true; |
| 221 | } |
| 222 | |
| 223 | function IsRuleName(ruleName){ |
| 224 | if("" == ruleName) return false; |
| 225 | if(!IsASCIIStr(ruleName)) return false; |
| 226 | |
| 227 | return true; |
| 228 | } |
| 229 | |
| 230 | function validate_pin(pin) { |
| 231 | var ret = true; |
| 232 | |
| 233 | if(pin.length < 4 || pin.length > 8) |
| 234 | ret = false; |
| 235 | |
| 236 | if(!IsNumber(pin)) |
| 237 | ret = false; |
| 238 | |
| 239 | return ret; |
| 240 | } |
| 241 | |
| 242 | function validate_puk(puk) { |
| 243 | var ret = true; |
| 244 | |
| 245 | if(puk.length < 4 || puk.length > 10) |
| 246 | ret = false; |
| 247 | |
| 248 | if (/\W/.test(puk)) |
| 249 | ret = false; |
| 250 | |
| 251 | return ret; |
| 252 | } |
| 253 | |