---
title: "RegExp + piltangenterna"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/108222-regexp-piltangenterna"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Palle"
published: "2004-07-30T06:59:53.000Z"
updated: "2004-08-02T08:47:51.000Z"
replies: 10
views: 423
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/108222-regexp-piltangenterna"
---

# RegExp + piltangenterna

## #1 — Palle, 2004-07-30T06:59Z

Jag använder följande kod för att förhindra att annat än siffror anges i formuäret: 

```
[red]onkeyup="this.value=this.value.replace(/\D/g,'');"[/red]
```

Tyvärr så kan man heller inte flytta markören framåt och bakåt med piltangenterna 
i textfältet om man skulle vilja ändra på det som man skrivit in.

Någon som har en lösning på detta?  :)

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

## #2 — @nders, 2004-07-30T07:13Z

Så här **kan** man göra. Om det är den bästa / rättaste lösningen har jag dock ingen aning om.

```
onkeyup="if(event.keyCode!=37 && event.keyCode!=39) this.value=this.value.replace(/\D/g,'');"
```

Mvh

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

## #3 — Palle, 2004-07-30T07:25Z

Fungerar prima, tackar! :bire

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

## #4 — @nders, 2004-07-30T07:30Z

Fungerar inte alls helt prima, ju. ;)

Visst kan man flytta markören med piltangenterna, men ändrar man något i fältet hamnar markören sist i alla fall.

(Jag sitter och jobbar med samma problem, men jag funderar på om man helt enkelt ska göra ersättningen onblur istället.

Mvh

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

## #5 — Palle, 2004-07-30T07:53Z

Nja, ok då.. om man ska hårddra det. ;)

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

## #6 — Jojoxx, 2004-07-30T08:06Z

Så här kanske:

```
<input type="text" onkeyup="if(!this.value.match(/^\d+$/)){ this.value=this.value.replace(/\D/g,''); }">
```

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

## #7 — Palle, 2004-07-30T08:21Z

Jojoxx: Nu är vi nära mitt mål, dock inte helt perfektionerat ännu. ;) :e

Skriver man in ex '123' och sedan ändrar '1' till ex. 'D' så tas bokstaven bort - korrekt, 
dock så hoppar nu curson till sista plats i textfältet igen, och det vill jag gärna undvika om det går.
Jag vill att bokstaven ska tas bort men att curson ligger kvar på platsen där bokstaven fanns.

Går det? :)

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

## #8 — @nders, 2004-07-30T08:24Z

Det finns ingen funktion typ "this.returnCursorToWhereItUsedToBeCauseThatsWhereWeWantIt()" som man kan köra inne i if-satsen? ;)
Jag kan dela på den med Palle. :)

Jag passar på att tacka Jojoxx jag också, trots att det inte är min tråd, för nu ser min funktion ut så här, och fungerar finemang:

```
function replaceChars(obj) {
	if(obj.value.match(/<|>/g))
		obj.value=obj.value.replace(/<|>/g,'');
}
```

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

## #9 — spango, 2004-07-30T08:39Z

Kanske kan den här tråden vara av intresse:
<http://webxpertz.net/forums/showthread.php?t=29760>

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

## #10 — @nders, 2004-08-02T08:41Z

Tack för trevlig länk, spango! :)

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

## #11 — Erik Juhlin, 2004-08-02T08:47Z

Jag har skrivit så här på ett ställe:

```
function isDigit()
{
	return ((event.keyCode >= 48) && (event.keyCode <= 57));
}

<input type="text" name="x" onKeyPress="event.returnValue = isDigit();">
```

Förhindrar ju inte paste och liknande, men i kombination med Jojoxx script eller ännu hellre en kontroll i onSubmit så skulle det funka bra. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/108222-regexp-piltangenterna
