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