<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA—咖啡館

    ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks
      1 /**   
      2 * 用于表單驗證   
      3 * 支持的標簽:   
      4 * empty   值為空的時候,提示文字,并使當前表單元素獲得焦點   
      5 * equal   值必須等于某個數值   
      6 * noequal 值必須不等于某個數值   
      7 * equalo  值不惜等于某個對象的值   
      8 * ctype   檢查值的類型,支持email、tel、english、mobile、nickname幾種格式   
      9 */
     10 
     11 /**   
     12 * 去除字符串兩邊的空格   
     13 */
     14 function trim(str) {
     15         return str.replace(/(^\s*)|(\s*$)/g, "");
     16 }
     17 function ltrim(str) {
     18         return str.replace(/(^\s*)/g, "");
     19 }
     20 function rtrim(str) {
     21         return str.replace(/(\s*$)/g, "");
     22 }
     23 function isMobile(mobile) {
     24         return (/^(?:13\d|15\d|18\d)-?\d{5}(\d{3}|\*{3})$/).test(trim(mobile));
     25 }
     26 function isEmail(strValue) {
     27         return (/^[\w-\.]+@[\w-]+(\.(\w)+)*(\.(\w){2,4})$/).test(trim(strValue));
     28 }
     29 function isPhone(strValue) {
     30         return (/^\d{3}-?\d{8}|\d{4}-?\d{7}$/).test(trim(strValue));
     31 }
     32 function isTel(str) {
     33         var reg = /^\d{7,8}$/;
     34         var patt = new RegExp(reg);
     35         return patt.test(str);
     36 }
     37 /**   
     38 * 獲取單選框的值   
     39 * @param radioName   
     40 * @return   
     41 */
     42 function getRadioValue(radioName) {
     43         var obj = document.getElementsByName(radioName);
     44         var objLen = obj.length;
     45         var i;
     46         for (i = 0; i < objLen; i++) {
     47                 if (obj[i].checked == true) {
     48                         return obj[i].value;
     49                 }
     50         }
     51         return null;
     52 }
     53 /**   
     54 * 獲取復選框的值   
     55 */
     56 function getCheckboxValue(radioName) {
     57         var obj = document.getElementsByName(radioName);
     58         var objLen = obj.length;
     59         var i;
     60         var result = "";
     61         for (i = 0; i < objLen; i++) {
     62                 if (obj[i].checked == true) {
     63                         result += obj[i].value + ",";
     64                 }
     65         }
     66         return result;
     67 }
     68 /**   
     69 * 復選框 是否處于 選中狀態   
     70 */
     71 function CheckboxToChecked(eleName, cValue) {
     72         var obj = document.getElementsByName(eleName);
     73         var objLen = obj.length;
     74         var i;
     75         var result = "";
     76         for (i = 0; i < objLen; i++) {
     77                 if (obj[i].value == cValue) {
     78                         obj[i].checked = true;
     79                 } else {
     80                         obj[i].checked = false;
     81                 }
     82         }
     83         return result;
     84 }
     85 // checkBox至少選中一項  
     86 function chkCheckBoxChs(objNam, txt) {
     87         var obj = document.getElementsByName(objNam);
     88         var objLen = obj.length;
     89         var num = 0;
     90         for (i = 0; i < objLen; i++) {
     91                 if (obj[i].checked == true) {
     92                         num++;
     93                 }
     94         }
     95         if (num == 0) {
     96                 alert(txt);
     97                 return false;
     98         }
     99         return true;
    100 }
    101 function isEnglish(strValue) {
    102         var reg = /^[A-Za-z0-9]*$/gi;
    103         return reg.test(trim(strValue));
    104 }
    105 function isNickname(strValue) {
    106         var reg = /^[a-z-_\u4e00-\u9fa5]*$/gi;
    107         return reg.test(trim(strValue));
    108 }
    109 function ispassword(strValue) {
    110         var reg = strValue.length;
    111         if (reg >= 6 && reg <= 12) {
    112                 return true;
    113         } else {
    114                 return false;
    115         }
    116 }
    117 function isarea(strValue) {
    118         var reg = /^0\d{2,3}$/;
    119         var patt = new RegExp(reg);
    120         return patt.test(strValue);
    121 }
    122 //自定義過濾器 
    123 var custom_filter = new Array;
    124 function checkform(event, oform) {
    125         event = event ? event: window.event;
    126         if (oform == undefined || oform == nullvar oform = event.srcElement ? event.srcElement: event.target;
    127         var elms = oform.elements;
    128         var qs;
    129         var attr;
    130         var other_obj;
    131         var value;
    132         for (var i = 0; i < elms.length; i++) {
    133                 // 為空的情況 -empty                 
    134                 if (elms[i].getAttribute('empty') && elms[i].value == '') {
    135                         elms[i].focus();
    136                         alert(elms[i].getAttribute('empty'));
    137                         return false;
    138                 }
    139                 // 檢查數值相等的情況 -equal                 
    140                 if (elms[i].getAttribute('equal')) {
    141                         attr = elms[i].getAttribute('equal');
    142                         qs = attr.split('|');
    143                         if (elms[i].value != qs[0]) {
    144                                 elms[i].focus();
    145                                 alert(qs[1]);
    146                                 return false;
    147                         }
    148                 }
    149                 // 檢查數值不相等的情況 -noequal                  
    150                 if (elms[i].getAttribute('noequal')) {
    151                         attr = elms[i].getAttribute('noequal');
    152                         qs = attr.split('|');
    153                         if (elms[i].value == qs[0]) {
    154                                 elms[i].focus();
    155                                 alert(qs[1]);
    156                                 return false;
    157                         }
    158                 }
    159                 // 檢查對象相等的情況 -equalo                 
    160                 if (elms[i].getAttribute('equalo')) {
    161                         attr = elms[i].getAttribute('equalo');
    162                         qs = attr.split('|');
    163                         other_obj = document.getElementById(qs[0]);
    164                         if (elms[i].value != other_obj.value) {
    165                                 elms[i].focus();
    166                                 alert(qs[1]);
    167                                 return false;
    168                         }
    169                 }
    170                 // 檢查值的類型 -ctype                  
    171                 if (elms[i].getAttribute('ctype')) {
    172                         attr = elms[i].getAttribute('ctype');
    173                         qs = attr.split('|');
    174                         if (qs[0== 'email' && !isEmail(elms[i].value)) {
    175                                 elms[i].focus();
    176                                 alert(qs[1]);
    177                                 return false;
    178                         } else if (qs[0== 'Tel' && !isTel(elms[i].value)) {
    179                                 elms[i].focus();
    180                                 alert(qs[1]);
    181                                 return false;
    182                         } else if (qs[0== 'nickname' && !isNickname(elms[i].value)) {
    183                                 elms[i].focus();
    184                                 alert(qs[1]);
    185                                 return false;
    186                         } else if (qs[0== 'password' && !ispassword(elms[i].value)) {
    187                                 elms[i].focus();
    188                                 alert(qs[1]);
    189                                 return false;
    190                         } else if (qs[0== 'area' && !isarea(elms[i].value)) {
    191                                 elms[i].focus();
    192                                 alert(qs[1]);
    193                                 return false;
    194                         }
    195                 }
    196                 for (var j = 0; j < custom_filter.length; j++) {
    197                         if (elms[i].id == custom_filter[j].name || elms[i].name == custom_filter[j].name) {
    198                                 if (custom_filter[j].callback(elms[i]) == false) {
    199                                         elms[i].focus();
    200                                         alert(custom_filter[j].msg);
    201                                         return false;
    202                                 }
    203                         }
    204                 }
    205         }
    206         return true;
    207 }
    208 /**   
    209 * 增加自定義過濾條件   
    210 * @return   
    211 */
    212 function add_filter(name, msg, callback) {
    213         custom_filter.push({
    214                 'name': name,
    215                 'msg': msg,
    216                 'callback': callback
    217         });
    218 }
    219 /**   
    220 * 驗證表單   
    221 * @param id   
    222 * @return   
    223 */
    224 function validator(id) {
    225         if (id == nullreturn false;
    226         var oform = document.getElementById(id);
    227         oform.onsubmit = checkform;
    228 }
    229 /**   
    230 * 強制驗證表單,用于非提交的處理,執行此函數時,即檢查表單合格性   
    231 * @param id   
    232 * @return   
    233 */
    234 function validator_force(id) {
    235         var oform = document.getElementById(id);
    236         return checkform(null, oform);
    237 }
    posted on 2010-10-12 10:20 rogerfan 閱讀(2096) 評論(1)  編輯  收藏 所屬分類: 【JS/HTML】

    Feedback

    # re: 表單驗證JS文件:validator.js 2014-10-29 20:43 2123
    123  回復  更多評論
      

    主站蜘蛛池模板: 日日摸夜夜添夜夜免费视频| 亚洲国产精品尤物YW在线观看| 一级毛片在线播放免费| 亚洲成a人片毛片在线| 中文字幕亚洲综合久久菠萝蜜| 成人看的午夜免费毛片| 一级毛片免费观看不卡视频| 成人精品综合免费视频| 亚洲精品精华液一区二区| 亚洲好看的理论片电影| 国产成人精品曰本亚洲79ren| 免费毛片在线视频| 日韩中文字幕精品免费一区| 日本视频在线观看永久免费| 一出一进一爽一粗一大视频免费的| 亚洲人成色4444在线观看| 亚洲熟妇无码爱v在线观看| 久久精品国产精品亚洲艾| 久久精品国产亚洲Aⅴ香蕉| 国产又长又粗又爽免费视频 | 最新欧洲大片免费在线| 久久久久久久久久国产精品免费| 国产精品美女久久久免费| 另类图片亚洲校园小说区| 久久亚洲色WWW成人欧美| 亚洲综合精品第一页| 亚洲制服丝袜第一页| 亚洲一本之道高清乱码| 亚洲成人网在线观看| 亚洲欧洲自拍拍偷午夜色| 亚洲视频免费一区| 亚洲精品中文字幕无乱码| 91天堂素人精品系列全集亚洲| 久久综合九九亚洲一区| 亚洲国产精品久久| 亚洲欧洲日韩在线电影| 亚洲卡一卡2卡三卡4麻豆| 亚洲第一男人天堂| 亚洲AV无码一区二区三区性色| 久久久久亚洲精品无码网址色欲| 亚洲av成人一区二区三区观看在线 |