Helt otestat givetvis.
ipAddr = "192.168.200.100"
strIpAddr = left(ipAddr,len(ipAddr)-instrRev(ipAddr,".")-1)
for i = 1 to instrRev(ipAddr,".")-1
strIpAddr = strIpAddr & "X"
next
response.write strIpAddr
11 svar · 693 visningar · startad av nisslass
Hej!
En snabb fråga..
Vill att ip via en Funktion skrivs ut i formatet
192.168.0.X
Eller
192.168.168.XXX
Så att mina användare får en viss anonymitet när de syns i vem som surfar på sidan just nu. Vet inte riktigt hur man gör när ip adresserna har olika med antal siffror i sig...
Vill alltså att den 4:e delen av ip adressen ersätts med "x".
Helt otestat givetvis.
ipAddr = "192.168.200.100"
strIpAddr = left(ipAddr,len(ipAddr)-instrRev(ipAddr,".")-1)
for i = 1 to instrRev(ipAddr,".")-1
strIpAddr = strIpAddr & "X"
next
response.write strIpAddr
En fin testad funktion.
<%
Function ReplaceLastSection(ByVal sStr, ByVal sSeperator, ByVal sReplaceCharacter)
Dim vStr, i
vStr = Split(sStr, sSeperator)
sStr = ""
For i = 0 To UBound(vStr)
If i <> 0 Then sStr = sStr & sSeperator
If i = UBound(vStr) Then
sStr = sStr & String(Len(vStr(i)), sReplaceCharacter)
Else
sStr = sStr & vStr(i)
End If
Next 'i
ReplaceLastSection = sStr
End Function
Response.Write ReplaceLastSection("192.168.200.100", ".", "X")
%>
eller min funktion, som använder reguljära uttryck
Function HideIP(userIP)
Set objRegExp = New RegExp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "\d{1,3}$"
strReplace = "***"
HideIP = objRegExp.Replace(userIP, strReplace)
End Function
Ännu ett förslag om man vill ha lite mindre kod:
strIP = "192.168.200.100"
strIP = Left(strIP, instrRev(strIP, ".")) & "xxx"
Jag tycker det känns onödigt att bry sig om hur många siffror som finns efter sista punkten.
Mvh,
@nders skrev:
Jag tycker det känns onödigt att bry sig om hur många siffror som finns efter sista punkten.
Visserligen funderade jag med på det, men det gör ju knappast någon skada.
slutar alltid IP med 3 siffror? kan det inte vara ibland 2?
tycker iaf att regexp är snyggast
tycker mest regexp är rörigt!
Tack ska ni ha, kör på @nders förslag...