---
title: "Vad är fel?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/70007-vad-är-fel"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "skyman"
published: "2003-03-04T10:11:38.000Z"
updated: "2003-06-23T22:57:59.000Z"
replies: 19
views: 424
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/70007-vad-är-fel"
---

# Vad är fel?

## #1 — skyman, 2003-03-04T10:11Z

```
function checkform(obj){
                if(document.form.fornamn.value.length==""){
                        alert("Fyll i förnamn!");
                        document.form.fornamn.focus();
                        return false;
                }

                if(document.form.efternamn.value.length==""){
                        alert("Fyll i efternamn!");
                        document.form.efternamn.focus();
                        return false;
                }

                regexp="[\\\.@]";
                if(document.form.epost.value.length<3 || document.form.epost.value.search(regexp)==-1 ){
                        alert("Du har angett en felaktig epostadress.");
                        document.form.epost.focus();
                        return false;
                }

                regexp = "^[0-9]{5}$";
                if(document.form.postnummer.value.length<5 || document.form.postnummer.value.search(regexp)==-1){
                        alert("Du har angett ett felaktigt postnummer.\nSkriv det med 5 tecken utan mellanslag.");
                        document.form.postnummer.focus();
                        return false;
                }

                regexp = "^[A-Za-z0-9_]+$";
                if(document.form.username.value.search(regexp)==-1 || document.form.username.length==""){
                        alert("Du har anv&auml;nt ogiltiga tecken i ditt alias.\nAnv&auml;nd endast A-Za-z0-9_ .");
                        document.form.username.focus();
                        return false;
                }

                if(document.form.password.length<4){
                        alert("L&ouml;senordet m&aring;ste vara minst 4 tecken");
                        document.form.password.focus();
                        return false;
                }

                regexp="^[A-Za-z0-9]+$";
                if(document.form.password.value.search(regexp)==-1){
                        alert("Lösenordet får bara innehålla A-Za-z0-9.");
                        document.form.password.focus();
                        return false;
                }

                if(document.form.password.value!=document.form.password2.value){
                        alert("L&ouml;senorden st&auml;mmer inte &ouml;verens med varandra.");
                        document.form.password.focus();
                        return false;
                }

                return true;
        }
```

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

## #2 — Jesper T, 2003-03-04T10:18Z

Det är en fördel om du kan beskriva felet. Det blir ju en aning lättare då. :)

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

## #3 — skyman, 2003-03-04T10:19Z

Åh...
Jag lämnar password och username tomt, det verkar som om inte regular expressions fungerar tillfresställande...
Får inget felmeddelande...

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

## #4 — Peter S, 2003-03-04T12:00Z

Du tilldelar inte variablen regexp något reguljärt uttryck utan en sträng. RegExp-variabler kan du bl.a. skapa så här:

```
var regexp = [b]/[/b][i]regexp-kod[/i][b]/[/b];
```

 :)

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

## #5 — skyman, 2003-03-04T12:16Z

Och hur kommer det se ut då? Det är inte jag som har gjort det, jag ska bara förbättra och det verkar inte ens ha fungerat innan...

regexp=/\[\\\\\\.@\]/;

regexp = /^\[0-9\]{5}$/;

regexp = /^\[A-Za-z0-9\_\]+$/;

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

## #6 — Peter S, 2003-03-04T15:04Z

De variabeldeklarationerna ser bättre ut  ;) 

Sedan kan du använda t.ex. funktionen *test()* för att avgöra om värdet på ett fält är korrekt eller inte:

```
var regexp = /[i]kod[/i]/;

...
// Om värdet inte matchar det reguljära uttrycket, returnerar funktionen [i]false[/i]
if(! regexp.test(document.forms["foo"].elements["bar"].value))
     // Gör något
...
```

 :)

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

## #7 — skyman, 2003-03-04T15:08Z

Och funktionen test finns under regexp?
Ett av mina exempel:

```
var regexp=/[\\\.@]/;
                if(document.form.epost.value.length<3 || !regexp.test(document.form.epost.value)){
                        alert("Du har angett en felaktig epostadress.");
                        document.form.epost.focus();
                        return false;
                }
```

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

## #8 — Peter S, 2003-03-04T17:36Z

Ja, *test()* är en RegExp-metod.

Exempel:

```
...
function ex(o){
	var regexp = /^([\w])+@(([\w])+([\.]{1})([\w])+)+$/;

	if(o.elements["epost"].value.length<3 || ! regexp.test(o.elements["epost"].value)){
		alert("Du har angett en felaktig epostadress.");
		document.form.epost.focus();
		return false;
	}
};
...
<form name="form" onsubmit="return ex(this)">

<input type="text" name="epost">
<input type="submit">

</form>
```

 :)

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

## #9 — skyman, 2003-03-05T07:42Z

1\. Hur ser det ut om man ska kolla postnummer?
5 siffror utan mellanslag.

2\. Hur ser det ut om man ska ange användarnamn?
A-Z, a-z, 0-9 \_ får vara med...

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

## #10 — Peter S, 2003-03-05T09:03Z

Exempel:

1:

```
<head>

<script>

function checkForm(o){
	if(o.elements["pnr"].value.length != 5 || isNaN(o.elements["pnr"].value)){
		alert("...");
		return false;
	}
};

</script>

</head>

<form onsubmit="return checkForm(this)">
<input type="text" name="pnr" maxlength="5">
<input type="submit">
</form>
```

2:

```
<head>

<script>

function checkForm(o){
	var regexp = /^[\w]+$/;

	if(! regexp.test(o.elements["user"].value)){
		alert("...");
		return false;
	}
};

</script>

</head>

<form onsubmit="return checkForm(this)">
<input type="text" name="user">
<input type="submit">
</form>
```

 :)

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

## #11 — skyman, 2003-03-06T10:51Z

```
function ex(o){
	var regexp = /^([\w])+@(([\w])+([\.]{1})([\w])+)+$/;

	if(o.elements["epost"].value.length<3 || ! regexp.test(o.elements["epost"].value)){
		alert("Du har angett en felaktig epostadress.");
		document.form.epost.focus();
		return false;
	}
};
```

Denna funkar inte om personen har en emailadress med en punkt i, tex kalle**.**svensson@telia.se...

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

## #12 — Peter S, 2003-03-06T10:53Z

Testa denna:

```
function ex(o){
	var regexp = /^(([\w])+([\.]){1})*([\w])+@([\w])+(([\.]{1})([A-Za-z]){2,4})+$/;

	if(o.elements["epost"].value.length<3 || ! regexp.test(o.elements["epost"].value)){
		alert("Du har angett en felaktig epostadress.");
		document.form.epost.focus();
		return false;
	}
};
```

 :)

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

## #13 — skyman, 2003-03-06T10:56Z

Kanon!
Det funkade.
Tcka så jättemycket :)

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

## #14 — Broms, 2003-03-12T17:34Z

Peter, du är ruskigt bra på html/javascript :p

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

## #15 — skyman, 2003-03-14T10:54Z

En fråga till:
Jag ska kolla så att datum är i formen **2003-03-14** och att tiden är i formen **11:50**...
Förmodar att det skulle vara något liknande:

```
var regexp = /^((([\w]){4})+([\-]){1})*(([\w]){2})+([\-]){1})*(([\w]){2})))+$/;
var regexp = /^((([\w]){2})+([\:]){1})*(([\w]){2})))+$/;
```

Men hur skriver man om det bara ska vara siffror, antar att \[/w\] betyder bokstav...

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

## #16 — Peter S, 2003-03-14T12:13Z

```
[0-9]
// eller...
\d
```

 :)

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

## #17 — skyman, 2003-03-14T12:23Z

Kanon!
Tack!

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

## #18 — Nexus86, 2003-06-23T22:37Z

En fråga jag med, finns det någon replacefunktion för reguljära uttryck i javascript?

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

## #19 — dectgap, 2003-06-23T22:50Z

Jadå, och föga förvånande heter metoden *replace()*.

Ett litet exempel:

```
<script type="text/javascript">
str = "En hårig katt.";
regexp = /(hårig)/;
str = str.replace(regexp, "luden");

document.write(str);
</script>
```

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

## #20 — Nexus86, 2003-06-23T22:57Z

Man tackar! :bire

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/70007-vad-är-fel
