<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  回復  更多評論
      

    主站蜘蛛池模板: 国产亚洲高清不卡在线观看| 国产精品免费电影| 久久大香香蕉国产免费网站| 99爱免费观看视频在线| 成人AV免费网址在线观看| 日日操夜夜操免费视频| 亚洲AV午夜成人影院老师机影院| 亚洲成a人片在线看| 婷婷国产偷v国产偷v亚洲| 国产视频精品免费视频| 亚洲无删减国产精品一区| 亚洲欧洲日产国码久在线| 久久最新免费视频| 亚洲男人的天堂www| 亚洲日韩精品国产3区| 四虎免费在线观看| 亚洲国语精品自产拍在线观看| 久久香蕉国产线看免费| 亚洲成人网在线观看| 精品免费久久久久国产一区| 国产亚洲色视频在线| 亚洲免费综合色在线视频| 国产免费人视频在线观看免费| 亚洲国产成人久久三区| 日韩视频在线观看免费| 亚洲人成网站在线播放影院在线| 免费v片在线观看视频网站| 亚洲午夜久久久久久久久电影网| 免费91麻豆精品国产自产在线观看| 永久免费bbbbbb视频| ww亚洲ww在线观看国产| 日本免费人成视频播放| 国产免费一级高清淫曰本片| 无码专区—VA亚洲V天堂| 99久久国产精品免费一区二区| 免费乱理伦在线播放| 亚洲av综合日韩| 国产成人精品日本亚洲| 美女网站在线观看视频免费的| 亚洲成a人片在线观看中文动漫| 人妻视频一区二区三区免费|