3
A
回答
7
見ADR State License Formats(PDF)。
0
假設你在美國的每個州都有不同的駕駛執照號碼格式,所以我知道你將在全州範圍內進行驗證。
3
我想出了這樣一個項目我工作...
function utilities() {
function validateLicense(stateCode, licenseNumber) {
// from http://www.uiia.org/documents/license_guidelines_08.pdf
var oneToSevenNumeric = /^[0-9]{1,7}$/;
var oneAlpha = /(.*[A-Za-z]){1}/;
var oneAlphaPlusSeven = /^.[0-9]{7}$/;
var twoAlpha = /(.*[A-Za-z]){2}/;
var alphaPlusSixNumeric = /(.*[0-9]){6}$/;
var threeToFiveNumeric = /(.*[0-9]){3,5}$/;
var fiveToNineNumeric = /(.*[0-9]){5,9}/;
var sixNumeric = /^[0-9]{6}$/;
var sevenNumeric = /^[0-9]{7}$/;
var sevenToNineNumeric = /^[0-9]{7,9}$/;
var eightAreNumbers = /(.*[0-9]){8}/;
var nineNumeric = /^[0-9]{9}$/;
var nineAlphaChars = /^[A-Za-z0-9]{9}$/;
var tenNumeric = /^[0-9]{10}$/;
var elevenNumeric = /^.[0-9]{11}$/;
var twelveNumeric = /^.[0-9]{12}$/;
var hPlusEight = /([H][0-9]{8})$/;
var sevenPlusX = /([H][0-9]{7}X)$/;
if (stateCode == undefined || licenseNumber == undefined) {
return "";
}
if (stateCode == 'AK') {
return validateExpression(oneToSevenNumeric, licenseNumber, "Must be 1-7 numeric");
}
if (stateCode == 'AL') {
return validateExpression(sevenNumeric, licenseNumber, "Must be 7 numeric");
}
if (stateCode == 'AR' || stateCode == 'MS') {
return validateExpression(nineNumeric, licenseNumber, "Must be 9 numeric");
}
if (stateCode == 'AZ') {
if (nineNumeric.test(licenseNumber) == true) {
return "";
}
if (oneAlpha.test(licenseNumber) && eightAreNumbers.test(licenseNumber)) {
return "";
}
if (twoAlpha.test(licenseNumber) && threeToFiveNumeric.test(licenseNumber) && licenseNumber.length < 8) {
return "";
}
return "Must be 1 Alphabetic, 8 Numeric; or 2 Alphabetic, 3-6 Numeric; or 9 Numeric";
}
if (stateCode == 'CA') {
if (oneAlpha.test(licenseNumber) && oneAlphaPlusSeven.test(licenseNumber)) {
return "";
}
return "Must be 1 alpha and 7 numeric";
}
if (stateCode == 'CO' || stateCode == 'CN' || stateCode == 'CT') {
return validateExpression(nineNumeric, licenseNumber, "Must be 9 numeric");
}
if (stateCode == 'DC') {
if (sevenNumeric.test(licenseNumber) || nineNumeric.test(licenseNumber)) {
return "";
}
return "Must be 7 - 9 numeric";
}
if (stateCode == 'DE') {
if (oneToSevenNumeric.test(licenseNumber)) {
return "";
}
return "Must be 1 - 7 numeric";
}
if (stateCode == 'FL') {
if (oneAlpha.test(licenseNumber) && twelveNumeric.test(licenseNumber)) {
return "";
}
return "Must be 1 alpha, 12 numeric";
}
if (stateCode == 'GA') {
if (sevenToNineNumeric.test(licenseNumber)) {
return "";
}
return "Must be 7 - 9 numeric";
}
if (stateCode == 'HI') {
if (nineNumeric.test(licenseNumber) || hPlusEight.test(licenseNumber)) {
return "";
}
return "Must 'H' + 8 numeric; 9 numeric";
}
if (stateCode == 'ID') {
if (nineNumeric.test(licenseNumber) || sixNumeric.test(licenseNumber) || (twoAlpha.test(licenseNumber) && alphaPlusSixNumeric.test(licenseNumber))) {
return "";
}
return "Must 9 numbers or 6 numbers; or 2 char, 6 numbers ";
}
if (stateCode == 'IL') {
if (oneAlpha.test(licenseNumber) && elevenNumeric.test(licenseNumber)) {
return "";
}
return "Must 1 character 11 numbers";
}
if (stateCode == 'IN') {
if (tenNumeric.test(licenseNumber) || nineNumeric.test(licenseNumber)) {
return "";
}
return "Must be 9-10 numbers";
}
if (stateCode == 'IA') {
if (nineAlphaChars.test(licenseNumber) || nineNumeric.test(licenseNumber)) {
return "";
}
return "Must be 9 alpha numbers";
}
if (stateCode == 'KS' || stateCode == 'KY') {
if (nineNumeric.test(licenseNumber) || (oneAlpha.test(licenseNumber) && eightAreNumbers.test(licenseNumber) && licenseNumber.length == 9)) {
return "";
}
return "Must be 1 alpha and 8 numeric";
}
if (stateCode == 'LA') {
if (nineNumeric.test(licenseNumber) == true) {
return "";
}
return "Must be 9 numeric";
}
if (stateCode == 'ME') {
if (sevenNumeric.test(licenseNumber) || sevenPlusX.test(licenseNumber)) {
return "";
}
return "Must be 7 numeric";
}
if (stateCode == 'MD' || stateCode == 'MI' || stateCode == 'MN') {
if (oneAlpha.test(licenseNumber) && twelveNumeric.test(licenseNumber)) {
return "";
}
return "1 Alphabetic, 12 Numeric";
}
if (stateCode == 'MA') {
if ((oneAlpha.test(licenseNumber) && eightAreNumbers.test(licenseNumber) && licenseNumber.length == 9) || nineNumeric.test(licenseNumber)) {
return "";
}
return "Must be 1 alpha, 8 numeric; 9 numeric";
}
if (stateCode == 'MO') {
if ((oneAlpha.test(licenseNumber) && fiveToNineNumeric.test(licenseNumber) && licenseNumber.length < 11) || nineNumeric.test(licenseNumber)) {
return "";
}
return "1 alpha - 5-9 Numeric or 9 numeric";
}
return "";
}
function validateExpression(expression, value, error) {
if (expression.test(value) == true) {
return "";
}
return error;
}
return {
validateLicense: validateLicense,
validateExpression: validateExpression
};
}
相關問題
- 1. DataAnnotations駕駛客戶端驗證問題
- 2. 只給出駕駛執照號碼來確定某人年齡的算法?
- 3. AVMetadataObjectTypePDF417Code無法讀取馬里蘭州駕駛執照
- 4. iPad - 從前置攝像頭拍攝照片並識別駕駛執照
- 5. 從UITabBarController駕駛UIImagePickerController
- 6. 駕駛員便攜性
- 7. 再次駕駛IBM-Watson-cognitive
- 8. 使用NUnit駕駛NDepend
- 9. XA Datasource和駕駛艙
- 10. 駕駛距離的REST API?
- 11. 使用Mapstraction創建駕駛方向和計算駕駛距離的文檔
- 12. 什麼是駕駛員級別? (Java)
- 13. NHibernate簡單刪除駕駛我瘋狂
- 14. 駕駛模式的路線指示
- 15. 如何實現自動駕駛儀
- 16. 打開推送通知駕駛谷歌
- 17. UWP C#Windows Phone駕駛模式
- 18. 在iPhone中計算駕駛距離
- 19. Google Play服務如何識別駕駛?
- 20. 計算駕駛距離Google Maps API
- 21. 安全的無人駕駛快速
- 22. jQuery的facebox不與動態駕駛Ajaxtabs
- 23. 超時硒,動態和即駕駛員
- 24. 可以我用mongodb的C#駕駛員
- 25. 這些回調駕駛我堅果
- 26. 請求位置更新而駕駛
- 27. 計算加速度(駕駛汽車)
- 28. 谷歌地圖上的駕駛路徑
- 29. SIGSEV錯誤的駕駛我堅果
- 30. 自動駕駛模式的應用
肯定的:這個網站應該讓你的駕駛執照號碼開始瓦特/驗證信息的關鍵位缺失 - 在哪個國家?如果在美國,在哪個州(S)?在美國,DL#的狀態似乎因州而異。 – 2010-07-26 19:27:28
美國和加拿大.. thx球員 – Quotient 2010-07-26 19:30:55
我只會這樣做,如果我不得不這樣做。我對美國和加拿大的駕駛執照編號計劃一無所知,但我希望他們中的任何一個或全部都會偶爾發生變化。你可能會遇到維修頭痛。 – 2010-07-26 19:36:14