我需要一個reg-EX與此規則JCB卡驗證,(Reference for JCB format)REG-防爆的JCB信用卡驗證
前四個數字必須是3088,3096,3112,3158,3337,或第一個 的八位數字必須在35280000到35899999的範圍內。有效的 長度:16位數字。
許多職位都找到了正則表達式^(?:2131|1800|35\d{3})\d{11}$
指post1,post2和post3。
我建立使用Authorize.Net.But的Authorize.Net測試JCB信用卡驗證信用卡支付模塊發生故障的上述正則表達式(^(?:2131 ...)。
但也有JCB 。卡一樣3088000000000017 (Authorize.Net test card),3096022966045455,3088810779293696
幫助我的正則表達式我找不到與2131或1800的任何JCB卡,我失去的東西
我強烈建議不要使用正則表達式進行此類驗證。您應該將輸入解析爲數字並處理它。匹配數字範圍的正則表達式非常不透明且不直觀,總之是一場維護噩夢。 – Vikhram
@Vikhram:我強烈反對。當一串數字(或任何字符)的格式有嚴格的規則,並且這些規則不會經常發生變化時,正則表達式可以在識別有效字符串時非常有用。當然,如果信用卡號碼和其他數字字符串攜帶錯誤檢測,還應驗證校驗位以確保該數字實際上是有效的數字,但如果只檢查那些格式不正確的數字,則可節省時間。 – xjuice