Page 62 - JavaScript修炼之道
P. 62

任务22  表单验证:进阶技巧              51


                   标记有特定格式要求的输入域


                    form/validation102/index.html

                   <p>
                     <label for="user_email">Email*</label>
                     <input type="text" name="user[email]" id="user_email"
                      class="required text email" />
                   </p>
                   <p>
                     <label for="user_favnumber">Favorite number</label>
                     <input type="text" name="user[favnumber]" id="user_favnumber"
                      class="text number" />
                   </p>
                   检查特定格式的输入域

                    form/validation102/validation102.js

                   var FIELD_PATTERNS = {
                     integer: /^\d+$/,
                     number: /^\d+(?:\.\d+)?$/,
                     email: /^[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$/i
                   };

                   function checkField(field) {
                     var value = $F(field).toString().strip();
                     for (var pattern in FIELD_PATTERNS) {
                       if (!field.hasClassName(pattern)) continue;
                       if (!FIELD_PATTERNS[pattern].test(value)) return false;
                     }
                     return true;
                   }
               相关任务


                     任务21
                     任务23
   57   58   59   60   61   62   63   64   65   66   67