我是经典asp的新手。我想在经典的asp中使用CPF验证功能。
以下链接在javascript和vb.net中有CPF验证功能,但我希望它在经典的asp / vbscript中
http://codigofonte.uol.com.br/codigo/js-dhtml/validacao/validar-cpf-via-javascript
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=3811&lngWId=10
由于
答案 0 :(得分:4)
最后,我自己设法编写了一个vbscript函数。它可能在将来帮助某人。
function ValidateCPFNew(cpf)
Dim multiplic1, multiplic2
multiplic1=Array(10, 9, 8, 7, 6, 5, 4, 3, 2)
multiplic2=Array(11, 10, 9, 8, 7, 6, 5, 4, 3, 2 )
Dim tempCpf,digit,sum,remainder,i,RegXP
cpf = Trim(cpf)
cpf = Replace(cpf,".", "")
cpf = Replace(cpf,"-", "")
if (Len(cpf) <> 11) Then
ValidateCPFNew = false
else
tempCpf = Left (cpf, 9)
sum = 0
Dim intCounter
Dim intLen
Dim arrChars()
intLen = Len(tempCpf)-1
redim arrChars(intLen)
For intCounter = 0 to intLen
arrChars(intCounter) = Mid(tempCpf, intCounter + 1,1)
Next
i=0
For i = 0 to 8
sum =sum + CInt(arrChars(i)) * multiplic1(i)
Next
remainder = sum Mod 11
If (remainder < 2) Then
remainder = 0
else
remainder = 11 - remainder
End If
digit = CStr(remainder)
tempCpf = tempCpf & digit
sum = 0
intLen = Len(tempCpf)-1
redim arrChars(intLen)
intCounter= 0
For intCounter = 0 to intLen
arrChars(intCounter) = Mid(tempCpf, intCounter + 1,1)
Next
i=0
For i = 0 to 9
sum =sum + CInt(arrChars(i)) * multiplic2(i)
Next
remainder = sum Mod 11
If (remainder < 2) Then
remainder = 0
else
remainder = 11 - remainder
End If
digit = digit & CStr(remainder)
Set RegXP=New RegExp
RegXP.IgnoreCase=1
RegXP.Pattern=digit & "$"
If RegXP.test(cpf) Then
ValidateCPFNew = true
else
ValidateCPFNew = false
end if
end if
end Function