Just nu i M3-nätverket
Gå till innehåll

Kolla telenummer


Jimizola1

Rekommendera Poster

Hej

Jag har ett inmatningsfält där jag ska skriva in ett telenummer och jag vill att det bara ska få innehålla 0-9 och bindestreck, hur kan jag göra för att kontrollera det? Som jag har det nu har jag Isnumeric, men då funkar det inte med bindestrecket.

 

numret hamnar sen i en variabel som kontrolleras.

 

Tack på förhand1

 

Länk till kommentar
Dela på andra webbplatser

om du vill så kan du köra JavaScript i stället...

 

<script language="JavaScript">

function myNum(field) {

var valid = "0123456789-"; // lägg till fler tecken som skall vara tillåtna åäö funkar som de är

var ok = "yes";

var temp;

for(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("0-9 och -");

field.select();

field.focus();

}

}

</script>

 

sedan kallar du enklast på det så här:

 

<input type="text" name="" onblur="myNum(this)">

 

// Carl

 

Länk till kommentar
Dela på andra webbplatser

Det där förstod jag inte mycket av :-)

Kan inte javascript överhuvudtaget

Jag vill att om det är fel så ska jag bygga upp ett nytt formulär med feltext och om det är ok ingen åtgärd.

 

Länk till kommentar
Dela på andra webbplatser

Magnus Gladh

Läs på om Regulare expressions, finns en lite kurs på www.webeye.nu

 

Där kan du bestäma exakt hur telefonnummret skall se ut:

 

Typ: xxx-xxxxxx

eller: xxx - xx xx xx

eller precis som du vill ha det...

 

Så läs på om regulare expressions och patterns så fixar det sig.

 

 

- Magnus

-----------------------------------------------------

Jag är inte kaxig, jag är bara så jävla bäst...

 

Länk till kommentar
Dela på andra webbplatser

Har gjort så här nu mest för att testa men får följande fel.

 

Object doesn't support this property or method på raden med if-satsen, hur kan jag annars göra?

 

<%

Dim objRegExp

 

Telefon = Request.form("telefon")

 

MyString = Telefon

 

Set objRegExp = New regexp

objRegExp.Global = true

objRegexp.IgnoreCase = true

objRegExp.Pattern = "\d-\d"

 

Set myMatches = objRegExp.Execute(myString)

 

If myMatches = "" Then

Response.Write "Fel"

Else

Response.Write "Rätt"

End If

 

%>

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Använde objRegExp.Test istället för Execute metoden

 

if objRegExp.Test(MyString ) then

..foo

else

..bar

end if

 

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Har du med det du skrev innan då?

 

****************

Dim objRegExp

 

Telefon = Request.form("telefon")

 

MyString = Telefon

 

Set objRegExp = New regexp

objRegExp.Global = true

objRegexp.IgnoreCase = true

objRegExp.Pattern = "\d-\d"

****************

 

/foo

 

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Du får visa hela din kod, annars är det svårt att se felet.

 

Kontrollera att MyString verkligen är en text sträng.

 

/foo

 

Länk till kommentar
Dela på andra webbplatser

formulärsida

 

<html>

<body>

<form method="post" action="regexp.asp">

<input type="text" name="telefon">

<input type="submit">

</form>

</body>

</html>

 

regexp.asp

 

<%

Dim objRegExp, myString, Telefon

 

Telefon = Request.form("telefon")

 

myString = Telefon

 

Set objRegExp = New regexp

objRegExp.Global = true

objRegexp.IgnoreCase = true

objRegExp.Pattern = "\d-\d"

 

Set myMatches = objRegExp.Test(myString)

 

If myMatches = "" Then

Response.Write "Fel"

Else

Response.Write "Rätt"

End If

 

%>

 

 

 

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Du får inte tillbaka en collection med Test, utan funktionen returnerar ett boolean värde.

 

***********

if objRegExp.Test(MyString) then

..foo

else

..bar

end if

***********

 

/foo

 

Länk till kommentar
Dela på andra webbplatser

ok, nu funkar det bättre, nu ska jag bara få det att fungera med den koden jag har sen innan, dett var bara ett litet test, har faxnummer också men det är väl samma princip

 

tack för hjälpen så länge!

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...