Val = "ABCDEFGHIJKLMNOPQURTUVWXYZ0123456789"
For i = 1 To Len(textsträng)
For j = 1 To Len(val)
If Mid(textsträng,i,1) = Mid(val,j,1) then
Exit for
bla = false
Else
bla = true
End If
Next
if bla = false then Exit for
Next
Detta är taget dirkt ur huvet så det kanske inte funkar så perfekt...
Helt klart en bra variant (några småfel), som dock kan blir lite processorintensiv med långa strängar.
Sedan är det ju frågan om man vill rensa bort olagliga tecken, eller varna om de finns där. Ska a-z få vara med (gemener)?
Lite bättre blir det om man skippar loop nummer två.
function checkbaddies(instring)
retval=false
Val = "ABCDEFGHIJKLMNOPQURTUVWXYZ0123456789"
For i = 1 To Len(instring)
if instr(Val,mid(instring,i,1))=0 then
retval=true
exit for
next
checkbaddies=retval
Next
..eller så gör man det med reguljära uttryck. Här fick gemenerna vara med.
function checkbaddies(instring)
retval=false
Set regEx = New RegExp
regEx.Pattern = "[^A-Za-z0-9]"
regEx.Execute(instring)
if regEx.Matches.count>0 then retval=true
checkbaddies=retval
end function
Om man vill rensa så...
function killbaddies(instring)
retval=""
Val = "ABCDEFGHIJKLMNOPQURTUVWXYZ0123456789"
For i = 1 To Len(instring)
if instr(Val,mid(instring,i,1))>0 then retval=retval & mid(instring,i,1)
next
killbaddies=retval
Next
..eller så gör man det med reguljära uttryck
function killbaddies(instring)
retval=""
Set regEx = New RegExp
regEx.Pattern = "[^A-Za-z0-9]"
regEx.Global=true
retval=regEx.Replace(instring,"")
killbaddies=retval
end function
Ett bra sätt om du har det i en input ruta är att kolla det med JavaScript (fel forum jag vet...).
Men skriver ändå hur man går tillväga.
[kod]
<script language="JavaScript">
function validate(field) {
var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Ogiltligt tecken! endast a-z, A-Z och 0-9 får förekomma i fältet.");
field.focus();
field.select();
}
}
</script>