驗證6種信用卡卡號的程式碼
ValidateCreditCard = FALSE ' Initialize negative results
' Clean Credit Card Number (Removes dashes and spaces)
pStrNumber = ParseDigits(pStrNumber)
' Validate number with LUHN Formula
If Not LUHN(pStrNumber) Then Exit Function
' Apply rules based on type of card
Select Case pStrType
Case "A"
Select Case Left(pStrNumber, 2)
Case "34", "37"
' Do Nothing
Case Else
Exit Function
End Select
If Not Len(pStrNumber) = 15 Then Exit Function
Case "D"
Select Case Left(pStrNumber, 2)
Case "36" , "38"
' Do Nothing
Case "30"
Select Case Left(pStrNumber, 3)
Case "300", "301", "302", "303", "304", "305"
' Do Nothing
Case Else
Exit Function
End Select
Case Else
Exit Function
End Select
If Not Len(pStrNumber) = 14 Then Exit Function
Case "Discover"
If Not Left(pStrNumber, 4) = "6011" Then Exit Function
If Not Len(pStrNumber) = 16 Then Exit Function
Case "JCB"
If Left(pStrNumber, 1) = "3" And Len(pStrNumber) = 16 Then
' Do Nothing
ElseIf Left(pStrNumber, 14) = "2131" And Len(pStrNumber) = 15 Then
' Do Nothing
ElseIf Left(pStrNumber, 14) = "1800" And Len(pStrNumber) = 15 Then
' Do Nothing
Else
Exit Function
End If
Case "M"
Select Case Left(pStrNumber, 2)
Case "51", "52", "53", "54", "55"
' Do Nothing
Case Else
Exit Function
End Select
If Not Len(pStrNumber) = 16 Then Exit Function
Case "V"
If Not Left(pStrNumber, 1) = "4" Then Exit Function
If Not (Len(pStrNumber) = 13 or Len(pStrNumber) = 16) Then Exit Function
Case Else
' Unknown Card Type
Exit Function
End Select
' We got this far so the number passed all the rules!
ValidateCreditCard = True
End Function
' ------------------------------------------------------------------------------
Function LUHN(ByRef pStrDigits)
Dim lLngMaxPosition
Dim lLngPosition
Dim lLngSum ' Sum of all positions
Dim lLngDigit ' Current digit in specified position
' Initialize
lLngMaxPosition = Len(pStrDigits)
lLngSum = 0
' Read from right to left
For lLngPosition = lLngMaxPosition To 1 Step -1
' If we are working with an even digit (from the right)
If (lLngMaxPosition - lLngPosition) Mod 2 = 0 Then
lLngSum = lLngSum + CInt(Mid(pStrDigits, lLngPosition, 1))
Else
' Double the digit
lLngDigit = CInt(Mid(pStrDigits, lLngPosition, 1)) * 2
' shortcut adding sum of digits
If lLngDigit > 9 Then lLngDigit = lLngDigit - 9
lLngSum = lLngSum + lLngDigit
End If
Next
相關推薦
驗證6種信用卡卡號的程式碼
Function ValidateCreditCard(ByRef pStrNumber, ByRef pStrType) ValidateCreditCard = FALSE ' Initialize negative results ' Clean Credit Card Number (Removes
PHP驗證信用卡卡號函數
val 銀行卡 code cti 信用 return php驗證 spa nbsp 1 /** 2 * 驗證銀行卡號是否是信用卡 3 * @param $cardnumber 4 * @return bool 5 */
信用卡 卡號
bubuko ast 識別 ima 圖片 info nbsp disco res 卡號規則: 首先,不同信用卡公司遵循特定的編號規則。 Visa:以4開頭,共有13位(很久以前發行過)或16位數字。 MasterCard:以51~56開頭,共有16
信用卡 卡號
image img ima info 圖片 信用卡 src .com bubuko 信用卡 卡號
Haskell作業|檢查一個信用卡卡號是否有效
isValid :: Integer -> Bool isValid x = if mod (sum (splitNumGtTen (doubleSecondDigit (formARevList x)))) 10 == 0 then True else False numValid :: [Inte
銀行卡驗證(驗證是否存在,卡號型別,歸屬行)
在網上找到了一個銀行卡的驗證,通過阿里的支付寶介面進行校驗,能夠準確識別是否存在,歸屬行,卡號型別是儲蓄卡(DC)還是信用卡(CC)。 介面api:需要傳入的2個引數,卡號cardNo和cardBinCheck https://ccdcapi.alipay.
java高併發系列 - 第17天:JUC中的迴圈柵欄CyclicBarrier常見的6種使用場景及程式碼示例
這是java高併發系列第17篇。 本文主要內容: 介紹CyclicBarrier 6個示例介紹CyclicBarrier的使用 對比CyclicBarrier和CountDownLatch CyclicBarrier簡介 CyclicBarrier通常稱為迴圈屏障。它和CountDownLatch很相似,
當你輸入信用卡號碼的時候,有沒有擔心輸錯了而造成損失呢?其實可以不必這麼擔心,因為並不是一個隨便的信用卡號碼都是合法的,它必須通過Luhn演算法來驗證通過。 該校驗的過程:1、從卡號最後一位數字開始,逆
import java.util.Scanner; /** * 當你輸入信用卡號碼的時候,有沒有擔心輸錯了而造成損失呢?其實可以不必這麼擔心, * 因為並不是一個隨便的信用卡號碼都是合法的,它必須通過Luhn演算法來驗證通過。 該校驗的過程: 1、從卡號最後一位數字
基於ANN的6種調制信號自動調制識別(2ASK、4ASK、2FSK、4FSK、2PSK、4PSK)
電平 自動 仿真 進制數 系統 輸入 ron 附錄 表達式 目的: 實現6種(2ASK、4ASK、2FSK、4FSK、2PSK、4PSK)調制信號自動調制識別。 條件:windows 10,MATLAB 2014a 內容: 本實驗設計了一個分層結構的MLP神經網絡分
顯示行號的6種方法、chkconfig、tar、awk、cut過濾字符串、ps配合wc查看過濾進程
linux 運維 awk sedDay10Georgekai-習慣:操作前備份,操作後檢查 第1章 第二波剩余命令:顯示行號的6種方法、chkconfig、tar、awk、cut過濾字符串、ps配合wc查看過濾進程1.1 打印配置文件nginx.conf內容的行號及內容,該如何做?1.1.1 花括號的作用 {
Java讀取資料夾大小的6種方法及程式碼
這篇文章介紹了JAVA讀取資料夾大小的幾種方法例項,有需要的朋友可以參考一下。 (一)單執行緒遞迴方式 package com.taobao.test; import java.io.File; public class TotalFileSizeSequential { pub
PHP中使用Luhn演算法校驗信用卡及借記卡卡號
Luhn演算法會通過校驗碼對一串數字進行驗證,校驗碼通常會被加到這串數字的末尾處,從而得到一個完整的身份識別碼。 我們以數字“7992739871”為例,計算其校驗位: 從校驗位開始,從右往左,偶數位乘2(例如,7*2=14),然後將兩位數字的個位與十位相
C#獲取CPU序列號程式碼、硬碟ID、網絡卡硬體地址等類檔案
using System; using System.Management; namespace CLeopardTestGetIDs { /// <summary> /// 計算機資訊類 /// </summ
資料結構C語言實現之鏈式佇列的6種演算法程式碼
#include <stdio.h>#include <stdlib.h>typedef int elemType;/************************************************************************//* 以下是關於佇列連
銀行卡前臺展示+後臺字串處理+銀行卡卡號驗證
A。 前臺把字串展示成:四個一堆四個一堆的樣式: <input class="txt" type="num" placeholder="確認卡號" onkeyup="this.valu
.NET Core 微信公眾號小程式6種獲取UnionID方法,你知道哪幾種?
前言 獲取UnionID是開發微信公眾號/小程式中很有必要的一個環節,特別是針對一個公司擁有多個公眾號小程式而推出的機制,實現打通賬戶一體化,用UnionID來區分多平臺的唯一性。 官方的解釋:如果開發者擁有多個移動應用、網站應用、和公眾帳號(包括小程式),可通過 UnionID 來區分使用者的唯一性,因
漲見識了,在終端執行 Python 程式碼的 6 種方式!
原作:[BRETT CANNON](https://snarky.ca/author/brett/) 譯者:豌豆花下貓@Python貓 英文:[https://snarky.ca/the-many-ways-to-pass-code-to-python-from-the-terminal](https:/
6種快速統計程式碼執行時間的方法,真香!
我們在日常開發中經常需要測試一些程式碼的執行時間,但又不想使用向 JMH(Java Microbenchmark Harness,Java 微基準測試套件)這麼重的測試框架,所以本文就彙總了一些 Java 中比較常用的執行時間統計方法,總共包含以下 6 種,如下圖所示: ![image.png](https:
URL 去重的 6 種方案!(附詳細實現程式碼)
URL 去重在我們日常工作中和麵試中很常遇到,比如這些: ![mj.png](https://cdn.nlark.com/yuque/0/2020/png/92791/1598431969308-51cbe384-f054-4f68-a2ba-f0036bc3cbd4.png#align=left&displ
最優雅退出 Android 應用程序的 6 種方式
home鍵 應用 一點 container new 出棧 manage 而且 rec 一、容器式建立一個全局容器,把所有的Activity存儲起來,退出時循環遍歷finish所有Activity import java.util.ArrayList; impor