Just nu i M3-nätverket
Jump to content

Kolla telenummer


Jimizola1

Recommended Posts

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

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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...

 

Link to comment
Share on other sites

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

 

%>

 

 

 

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

 

%>

 

 

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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!

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...