---
title: "Optimera kod"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/17146-optimera-kod"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Brimba"
published: "2000-10-09T15:28:00.000Z"
updated: "2000-10-11T21:46:00.000Z"
replies: 6
views: 250
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/javascript/17146-optimera-kod"
---

# Optimera kod

## #1 — Brimba, 2000-10-09T15:28Z

Nedan ser ni lite kod.

Jag undrar hur ni hade valt att optimera denna kod?
Som sagt vill jag kolla två olika fält, det ena får endast innehålla a-ö det andra får innehålla a-ö samt 0-9. 
Måste man verkligen ha två funktioner för detta, eller har ni några tips om hur jag löser det på ett bättre sätt?

```
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
function validate(field) {
var valid = "abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ"
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-ö samt A-Ö får förekomma i fältet.");
field.focus();
field.select();
   }
}

function validatenum(field) {
var valid = "abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789"
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-ö, A-Ö samt 0-9 får förekomma i fältet.");
field.focus();
field.select();
   }
}
</font>
```

Tack!

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

## #2 — fredrik, 2000-10-10T06:53Z

Tjena, här kommer ett tips där du skickar med ett värde in i funktionen för att kolla om det ska vara bara bokstäver eller både bokstäver och siffror.
Funtionen använder sig av reguljära uttryck:

```
function validate(val,typ)
{
if (typ==0)
	{reg = /\w&#0124;\s\w&#0124;\w\s&#0124;\s/
	var msg="Du får endast ange tecken mellan A-Ö eller 0-9"}
else
	{reg = /\D&#0124;\s\D&#0124;\D\s&#0124;\s/
	var msg="Du får endast ange tecken mellan A-Ö"}
	
var reg_exp = new RegExp(reg)
var len=val.length;
var fel=false;

for (i=0;i<len;i++)
	{
	val_char=val.substring(i,i+1)
	ch_reg = reg_exp.test(val_char)
	if (ch_reg==false)
		{fel=true}	
	}
if (fel==true)
	{alert(msg)}
}
```

Du anropar funktionen genom att skicka in önskat värde, samt en nolla eller etta för vilken typ du ska använda.

```
onclick="validate(document.form.input.value,1)
```

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

## #3 — spango, 2000-10-10T21:13Z

```
function validate(field) {
if (new RegExp("[a-z" + unescape("%E5%E4%F6") + "]+", "i").exec(field.value) != field.value) {
alert("Ogiltligt tecken! endast a-ö samt A-Ö får förekomma i fältet.");
field.focus();
field.select();
}
}
function validatenum(field) {
if(new RegExp("[a-z" + unescape("%E5%E4%F6") + "0-9]+", "i").exec(field.value) != field.value) {
alert("Ogiltligt tecken! endast a-ö, A-Ö samt 0-9 får förekomma i fältet.");
field.focus();
field.select();
}
}
```

**r** måste ha vart rejält trött när jag skrev den gamla koden...

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

## #4 — Brimba, 2000-10-11T08:04Z

Men du sätter allt till lowercase?

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

## #5 — spango, 2000-10-11T14:52Z

Brimba, jag har omoptimerat koden nu.

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

## #6 — Brimba, 2000-10-11T14:58Z

Jag tycker inte att din kod gör att jag får mindre antal funktioner?

Jag behåller nog det jag skrev från början.

Tack!

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

## #7 — spango, 2000-10-11T21:46Z

Jaså, det var färre funktioner du var ute efter...

```
function validate(field,description , extras) {
if(!extras) extras = "";
if(new RegExp("[a-z" + unescape("%E5%E4%F6") + extras + "]+", "i").exec(field.value) != field.value) {
alert("Ogiltligt tecken! Endast " + description + " får förekomma i fältet.");
field.focus();
field.select();
}
}
validate(ettFelt, "a-ö och A-Ö"); // visar "Ogiltligt tecken! Endast a-ö och A-Ö får förekomma i fältet." om nåt annat än a-ö förekommer i fältet
validate(ettFelt, "a-ö, A-Ö samt 0-9", "0-9"); // visar "Ogiltligt tecken! Endast a-ö, A-Ö samt 0-9 får förekomma i fältet." om nåt annat än a-ö eller 0-9 dyker upp i fältet
```

**\\r** Unterminated string literal

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/17146-optimera-kod
