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

    主站蜘蛛池模板: 老牛精品亚洲成av人片| 色www永久免费网站| 免费人妻av无码专区| 亚洲av成人一区二区三区在线观看 | 国内自产拍自a免费毛片| 免费人成动漫在线播放r18| 久久精品亚洲综合专区| 一二三四在线播放免费观看中文版视频| 亚洲av无码专区青青草原| 免费看成人AA片无码视频羞羞网| 亚洲AV永久无码精品网站在线观看| 色久悠悠婷婷综合在线亚洲| 日本免费xxxx色视频| 日韩精品无码免费视频| 亚洲黑人嫩小videos| 亚洲成aⅴ人片久青草影院 | 国产午夜影视大全免费观看 | 日本黄色免费观看| 男人j进入女人j内部免费网站| 亚洲中文字幕精品久久| 好看的亚洲黄色经典| 性一交一乱一视频免费看| 久久久久国产免费| 十八禁的黄污污免费网站| 亚洲另类视频在线观看| 中文字幕人成无码免费视频| AAAAA级少妇高潮大片免费看| 亚洲黑人嫩小videos| 无限动漫网在线观看免费| 亚洲午夜久久久久久噜噜噜| 18未年禁止免费观看| 中国黄色免费网站| 亚洲av无码成人精品国产| 亚洲天堂电影在线观看| 九月丁香婷婷亚洲综合色| 免费A级毛片无码久久版| 亚洲电影在线免费观看| 久久久精品午夜免费不卡| 久久精品国产亚洲AV无码麻豆| 亚洲av日韩片在线观看| 免费无码又爽又刺激高潮 |