C Calevan Medlem sedan maj 2003 1 173 inlägg Trådstart 4 okt. 2005 13:29 #1 Hej!
Tänkte ha en kod som kollar att ett fält innehåller exakt 8 siffror och tänkte mig då något sånt här:
<script type="text/javascript">
if(/\D{8}/.test(document.bekrafta.kundnummer.value)) {
alert("Kundnummret måste innehålla exakt 8 siffror");
return false;
}
</script>
men det gick inte... hur är det man ska göra?
tack!
@nders Medlem sedan juni 2000 32 967 inlägg document.bekrafta.kundnummer.value.length!=8 {
C Calevan Medlem sedan maj 2003 1 173 inlägg oj... var det så lätt. tänk vad man lär sig här på wF!
tack!
@nders Medlem sedan juni 2000 32 967 inlägg Glöm inte att det ska vara parenteser runt villkoret, de måste ha försvunnit när jag postade mitt inlägg.
Så här alltså:
if (document.bekrafta.kundnummer.value.length!=8) {
J Josef Medlem sedan mars 2002 3 561 inlägg Fast det där fångar ju bara 8 tecken, inte specifikt siffror.
@nders Medlem sedan juni 2000 32 967 inlägg
Josef skrev:
Fast det där fångar ju bara 8 tecken, inte specifikt siffror.
Det har du helt rätt i! Jag tror jag läste "tecken" istället för "siffror".
Sorry! Avmarkera genast mitt svar som slutgiltigt!
Mvh
Virtual Medlem sedan sep. 2005 156 inlägg otestat..osäker på syntaxen osv, men det borde gå att använda isNaN
if (!isNaN(document.bekrafta.kundnummer.value.length!=8)) {
P Peter S Medlem sedan dec. 2002 5 483 inlägg Snarare
if (isNaN(document.bekrafta.kundnummer.value) || document.bekrafta.kundnummer.value.length != 8)
Eller
if (!/^\d{8}$/.test(document.bekrafta.kundnummer.value))
Virtual: Det där har många fel. För det första så kollar du om True/False är numeriskt. Sen så släpper isNaN igenom decimaler, minustecken och även bokstäver i vissa fall.
Calevans regulära uttryck är en bra början, behöver bara modifieras lite.
<script type="text/javascript">
if (!/^\d{8}$/.test(document.bekrafta.kundnummer.value))
{
alert("Kundnumret måste innehålla exakt 8 siffror");
return false;
}
</script>
Peter S:
(alternativ två är då det vettiga sättet att göra det på)