JS验证特殊字符,JS验证IP与端口地址,JS日期格式转换
最近在网页上操作数据比较多,在网上找了几个JS方法,记下来以后用
验证特殊字符:
1 var placeName = document.getElementById("search").value; 2 var patrn=/[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im; 3 4 if(patrn.test(placeName)){ 5 alert("提示信息:您输入的数据含有非法字符!"); 6 return false; 7 }
ip与端口的验证串
var 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])){3}(\:(\d{1,4}|[1-5]\d{1,4}|6[0-4]\d{1,3}|65[0-4]\d{1,2}|655[0-2]\d|6553[0-5])){1}$/;
时间格式化:
1 function DateUtil() { 2 } 3 /** 4 * 功能:格式化时间 示例:DateUtil.Format("yyyy/MM/dd","Thu Nov 9 20:30:37 UTC+0800 2006 5 * "); 返回:2006/11/09 6 */ 7 DateUtil.Format = function(fmtCode, date) { 8 var result, d, arr_d; 9 10 var patrn_now_1 = /^y{4}-M{2}-d{2}\sh{2}:m{2}:s{2}$/; 11 var patrn_now_11 = /^y{4}-M{1,2}-d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/; 12 13 var patrn_now_2 = /^y{4}\/M{2}\/d{2}\sh{2}:m{2}:s{2}$/; 14 var patrn_now_22 = /^y{4}\/M{1,2}\/d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/; 15 16 var patrn_now_3 = /^y{4}年M{2}月d{2}日\sh{2}时m{2}分s{2}秒$/; 17 var patrn_now_33 = /^y{4}年M{1,2}月d{1,2}日\sh{1,2}时m{1,2}分s{1,2}秒$/; 18 19 var patrn_date_1 = /^y{4}-M{2}-d{2}$/; 20 var patrn_date_11 = /^y{4}-M{1,2}-d{1,2}$/; 21 22 var patrn_date_2 = /^y{4}\/M{2}\/d{2}$/; 23 var patrn_date_22 = /^y{4}\/M{1,2}\/d{1,2}$/; 24 25 var patrn_date_3 = /^y{4}年M{2}月d{2}日$/; 26 var patrn_date_33 = /^y{4}年M{1,2}月d{1,2}日$/; 27 28 var patrn_time_1 = /^h{2}:m{2}:s{2}$/; 29 var patrn_time_11 = /^h{1,2}:m{1,2}:s{1,2}$/; 30 var patrn_time_2 = /^h{2}时m{2}分s{2}秒$/; 31 var patrn_time_22 = /^h{1,2}时m{1,2}分s{1,2}秒$/; 32 33 if (!fmtCode) { 34 fmtCode = "yyyy/MM/dd hh:mm:ss"; 35 } 36 if (date) { 37 d = new Date(date); 38 if (isNaN(d)) { 39 msgBox("时间参数非法\n正确的时间示例:\nThu Nov 9 20:30:37 UTC+0800 2006\n或\n2006/10/17"); 40 return; 41 } 42 } else { 43 d = new Date(); 44 } 45 46 if (patrn_now_1.test(fmtCode)) { 47 arr_d = splitDate(d, true); 48 result = arr_d.yyyy + "-" + arr_d.MM + "-" + arr_d.dd + " " + arr_d.hh 49 + ":" + arr_d.mm + ":" + arr_d.ss; 50 } else if (patrn_now_11.test(fmtCode)) { 51 arr_d = splitDate(d); 52 result = arr_d.yyyy + "-" + arr_d.MM + "-" + arr_d.dd + " " + arr_d.hh 53 + ":" + arr_d.mm + ":" + arr_d.ss; 54 } else if (patrn_now_2.test(fmtCode)) { 55 arr_d = splitDate(d, true); 56 result = arr_d.yyyy + "/" + arr_d.MM + "/" + arr_d.dd + " " + arr_d.hh 57 + ":" + arr_d.mm + ":" + arr_d.ss; 58 } else if (patrn_now_22.test(fmtCode)) { 59 arr_d = splitDate(d); 60 result = arr_d.yyyy + "/" + arr_d.MM + "/" + arr_d.dd + " " + arr_d.hh 61 + ":" + arr_d.mm + ":" + arr_d.ss; 62 } else if (patrn_now_3.test(fmtCode)) { 63 arr_d = splitDate(d, true); 64 result = arr_d.yyyy + "年" + arr_d.MM + "月" + arr_d.dd + "日" + " " 65 + arr_d.hh + "时" + arr_d.mm + "分" + arr_d.ss + "秒"; 66 } else if (patrn_now_33.test(fmtCode)) { 67 arr_d = splitDate(d); 68 result = arr_d.yyyy + "年" + arr_d.MM + "月" + arr_d.dd + "日" + " " 69 + arr_d.hh + "时" + arr_d.mm + "分" + arr_d.ss + "秒"; 70 } 71 72 else if (patrn_date_1.test(fmtCode)) { 73 arr_d = splitDate(d, true); 74 result = arr_d.yyyy + "-" + arr_d.MM + "-" + arr_d.dd; 75 } else if (patrn_date_11.test(fmtCode)) { 76 arr_d = splitDate(d); 77 result = arr_d.yyyy + "-" + arr_d.MM + "-" + arr_d.dd; 78 } else if (patrn_date_2.test(fmtCode)) { 79 arr_d = splitDate(d, true); 80 result = arr_d.yyyy + "/" + arr_d.MM + "/" + arr_d.dd; 81 } else if (patrn_date_22.test(fmtCode)) { 82 arr_d = splitDate(d); 83 result = arr_d.yyyy + "/" + arr_d.MM + "/" + arr_d.dd; 84 } else if (patrn_date_3.test(fmtCode)) { 85 arr_d = splitDate(d, true); 86 result = arr_d.yyyy + "年" + arr_d.MM + "月" + arr_d.dd + "日"; 87 } else if (patrn_date_33.test(fmtCode)) { 88 arr_d = splitDate(d); 89 result = arr_d.yyyy + "年" + arr_d.MM + "月" + arr_d.dd + "日"; 90 } else if (patrn_time_1.test(fmtCode)) { 91 arr_d = splitDate(d, true); 92 result = arr_d.hh + ":" + arr_d.mm + ":" + arr_d.ss; 93 } else if (patrn_time_11.test(fmtCode)) { 94 arr_d = splitDate(d); 95 result = arr_d.hh + ":" + arr_d.mm + ":" + arr_d.ss; 96 } else if (patrn_time_2.test(fmtCode)) { 97 arr_d = splitDate(d, true); 98 result = arr_d.hh + "时" + arr_d.mm + "分" + arr_d.ss + "秒"; 99 } else if (patrn_time_22.test(fmtCode)) { 100 arr_d = splitDate(d); 101 result = arr_d.hh + "时" + arr_d.mm + "分" + arr_d.ss + "秒"; 102 } else { 103 msgBox("没有匹配的时间格式!"); 104 return; 105 } 106 107 return result; 108 }; 109 function splitDate(d, isZero) { 110 var yyyy, MM, dd, hh, mm, ss; 111 if (isZero) { 112 yyyy = d.getFullYear(); 113 MM = (d.getMonth() + 1) < 10 ? "0" + (d.getMonth() + 1) 114 : d.getMonth() + 1; 115 dd = d.getDate() < 10 ? "0" + d.getDate() : d.getDate(); 116 hh = d.getHours() < 10 ? "0" + d.getHours() : d.getHours(); 117 mm = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes(); 118 ss = d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds(); 119 } else { 120 yyyy = d.getFullYear(); 121 MM = d.getMonth() + 1; 122 dd = d.getDate(); 123 hh = d.getHours(); 124 mm = d.getMinutes(); 125 ss = d.getSeconds(); 126 } 127 return { 128 "yyyy" : yyyy, 129 "MM" : MM, 130 "dd" : dd, 131 "hh" : hh, 132 "mm" : mm, 133 "ss" : ss 134 }; 135 } 136 function msgBox(msg) { 137 window.alert(msg); 138 }