?
使用jQuery validator對form進行驗證非常方便且功能強大。jQuery validator 內置了10多種驗證方法,包括required, e-mail, url, min-lenght, max-length, min, max, range, date 等等……而且它還允許通過 addMethod 函數添加新的驗證方法。
?
項目中需要驗證UPC碼,于是在jQuery Validator的基礎上開發了一個驗證UPC代碼的方法。
UPC碼的最后一位是校驗碼,UPC校驗碼的計算方法:
1. 將UPC碼奇數位的數字(不包括校驗位)求和,然后乘以3;
2. 將UPC碼偶數位的數字(不包括校驗位)求和,并加上第一步的計算結果;
3. 將第二步的計算結果除以10取余。如果余數不為0,則10減去余數得出校驗碼;如果余數為0,則校驗碼為0。
舉例:某種面巾紙盒子上的UPC條碼是036000241457。最后一位數字7是校驗碼,如果其它數字都正確,那么校驗碼肯定是7。計算步驟:
1. 奇數位數字求和,并乘以3: (0+6+0+2+1+5) X 3 = 42
2. 偶數位數字求和: 3+0+0+4+4 = 11
3. 第一步和第二步的結果相加: 42 + 11 = 53
4. 將第3步結果除以10取余,然后用10減去余數:53 % 10 = 3, 10 – 3 = 7。得出最終的校驗碼為7。?
維基百科中關于的UPC的條目: http://en.wikipedia.org/wiki/Universal_Product_Code
?
驗證UPC代碼的JavaScript源碼:
// Author: Ken Yang // Blog: http://www.cnblogs.com/kenyang/ // 分發和使用該JavaScript腳本,請保留完整的作者信息。 function validateUpc(upc) { var leftDigits, checkDigit; leftDigits = upc.substr(0, upc.length - 1); var even = 0; var odd = 0; for (var i = 0; i < leftDigits.length; i++) { if (i % 2 == 0) { odd += parseInt(leftDigits.substr(i, 1)) * 3; } else { even += parseInt(leftDigits.substr(i, 1)); } } var reminder = (odd + even) % 10; checkDigit = reminder == 0 ? 0 : 10 - reminder; return checkDigit.toString() == upc.substr(upc.length - 1, 1); } jQuery.validator.addMethod("upc", validateUpc, "Please enter a valid UPC."); //將驗證方法添加到jQuery Validator
?
免費下載連接:
http://files.cnblogs.com/kenyang/jQuery-validator-upc-1.0.js
?
使用起來也很簡單,只需要在html頁面添加一個引用這個Plugin的鏈接(當然還需要引用jQuery 核心庫和jQuery Validator),然后將需要驗證的文本框添加一個upc 類。以下是一個html示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script> <script src="http://files.cnblogs.com/kenyang/jQuery-validator-upc-1.0.js" type="text/javascript"></script> <script type="text/javascript"> $().ready(function () { $("#upcForm").validate(); }); </script> </head> <body> <h2>Using customized validation function to validate UPC code.</h2> <form id="upcForm" action=""> <label>UPC code</label> <input id="Text1" type="text" class="upc" /> </form> </body> </html>
?
當在文本框Text1中輸入的UPC代碼不正確時,文本框旁邊會顯示"Please enter a valid UPC. "。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
