---
title: "Kolla efter dumma tecken i sträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/5822-kolla-efter-dumma-tecken-i-sträng"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Mungo"
published: "2000-06-12T14:56:00.000Z"
updated: "2000-06-13T17:20:00.000Z"
replies: 4
views: 247
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/5822-kolla-efter-dumma-tecken-i-sträng"
---

# Kolla efter dumma tecken i sträng

## #1 — Mungo, 2000-06-12T14:56Z

Om jag har en sträng som jag vill endast ska få innehålla A-Z och 0-9 hur gör jag då egentligen?

Permalänk: https://www.webforum.nu/p/5822

## #2 — Vide, 2000-06-12T15:24Z

Något sånthär?:

```
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...

Permalänk: https://www.webforum.nu/p/243553

## #3 — emission, 2000-06-12T16:14Z

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
```

\[Redigerat av emission den 12 jun 2000\]

Permalänk: https://www.webforum.nu/p/243554

## #4 — Brimba, 2000-06-13T06:32Z

Hej!

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\>

Sen har du tex en input ruta så här:

\<INPUT name="AnvNamn" size="40" onBlur="validate(this)"\>

Det gör att man inte kan gå ifrån rutan såvida man inte har skrivit rätt, och det är ju bra :e

Permalänk: https://www.webforum.nu/p/243555

## #5 — Mungo, 2000-06-13T17:20Z

Nja, om man stänger av javascript i sin webläsare eller har en gammal webläsare kan man komma förbi den där kollen. 

Tack för all hjälp dock, alla! nu funkar det som det ska.

Permalänk: https://www.webforum.nu/p/243556

---

Tråden på webben: https://www.webforum.nu/amne/asp/5822-kolla-efter-dumma-tecken-i-sträng
