---
title: "RegExp: Göra nummer till länkar!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/159312-regexp-göra-nummer-till-länkar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "oskars"
published: "2007-04-16T07:00:57.000Z"
updated: "2007-04-24T07:40:23.000Z"
replies: 12
views: 772
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/asp/159312-regexp-göra-nummer-till-länkar"
---

# RegExp: Göra nummer till länkar!

## #1 — oskars, 2007-04-16T07:00Z

Tjenare,

jag är helt lost vad gäller RegExp... eller ja, inte helt kanske... Jag förstår att man genom ett mönster letar fram det man vill "göra om" eller vad man nu vill göra.

Det här behöver jag hjälp med:
Jag har en ganska lång sträng som heter "TempTel"... Den kan se ut så här ungefär:

```
Bla Bla Bla Bla  0701234567 Bla Bla Bla Bla 08498416 Bla Bla Bla Bla
```

Jag vill göra detta med strängen:
Leta igenom alla möjliga telefonnummer... T.ex är ju alla mobilnummer alltid 10st siffror, men vill även leta fram alla övriga möjliga telefonnummer. Alla har alltid riktnummer i sig. Och sen vill jag presentera dom i en fin lista:
\* 0701234567
\* 08498416
(vill gärna göra telefonnumrena till länkar i listan också)

så typ "For Each RegExp-Telnr in TempTel" sen Loopa... eller nått =)

Tacksam för hjälp!

Oz

Oskar

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

## #2 — oskars, 2007-04-24T06:13Z

Någon som vill hjälpa mig? =)

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

## #3 — voigtann1, 2007-04-24T06:53Z

```
<%
Function GetNumbers(str)
  Dim reg,RegExpMatch,RegExpNumber,lMatchCount,ReturnString
  set reg = new RegExp
  reg.IgnoreCase = True
  reg.Global = True
  reg.Pattern = "(0[1-9]\d+)" 'Kan ta bort [1-9] om du även vill träffa på: 0046 exempelvis.
  Set RegExpMatch = reg.Execute(str)
  lMatchCount = RegExpMatch.Count
  If lMatchCount Then
    ReturnString = "<ul>"
    For Each RegExpNumber In RegExpMatch
      ReturnString = ReturnString & "<li>" & RegExpNumber.SubMatches(0)
    Next
    ReturnString = ReturnString & "</ul>"
  End If
  GetNumbers = ReturnString 
End Function

Response.Write GetNumbers("Bla Bla Bla Bla  0701234567 Bla Bla Bla Bla 08498416 Bla Bla Bla Bla")
%>
```

Kanske?

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

## #4 — oskars, 2007-04-24T07:06Z

Hm. får syntaxfel på Function GetNumbers(str)... försökte hitta orsaken till det på google... men utan lycka

:)

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

## #5 — @nders, 2007-04-24T07:09Z

Var någonstans får du felmeddelande? Var har du lagt funktionen?

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

## #6 — oskars, 2007-04-24T07:10Z

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03EA)
Syntaxfel
/wip/kundkortTable.inc, line 142

Red 142: Function GetNumbers(str)

Jag har lagt funktionen precis så som voigtann skrev ut den!

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

## #7 — @nders, 2007-04-24T07:11Z

> Jag har lagt funktionen precis så som voigtann skrev ut den!

Det var väl inget svar på frågan "var"? :) 

Hur ser koden runt om ut?

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

## #8 — oskars, 2007-04-24T07:12Z

som en gröt typ.   :r 

```

					<input TYPE="hidden" NAME="display" onFocus="this.blur()" size="20">
					<input name="spara" type="hidden" value="spara" />
					<input name="id" value="<%=RecSet("ID")%>" type="hidden" />
					
					<div class="boxbg">					
						<label for="fordon">Fordon:</label><br class="nobr" />
						<input name="fordon" value="<%=RecSet("Fordon")%>" type="text" class="textfield" id="fordon" />
						<div style="margin:0 0 0 99px;padding:0;">Årsmod: <input name="arsmodell" type="text" value="<%=RecSet("Arsmodell")%>" style="width:15px;" /> Inköpt:  <%=RecSet("FordonDat1")%> Ägarbyte: <%=RecSet("FordonDat2")%></div>
					</div>
					
					<div class="boxbg">			
						<label for="name">Namn:</label><br class="nobr" />
						<input name="namn" value="<%=RecSet("Namn")%>" type="text" class="textfieldhighlight" id="name" />
						<br />
						<label for="eftername">Efternamn:</label><br class="nobr" />
						<input name="efternamn" value="<%=RecSet("Efternamn")%>" type="text" class="textfieldhighlight" id="eftername" />
					</div>
					
					<div class="boxbg">	
						<label for="att">Att:</label><br class="nobr" />
						<input name="adressrad1" value="<%=RecSet("Adressrad1")%>" type="text" class="textfield" id="adressrad1" />
						<br />
						
						<label for="att">Gatuadress:</label><br class="nobr" />
						<input name="adressrad2" value="<%=RecSet("Adressrad2")%>" type="text" class="textfieldhighlight" id="adressrad2" />
						<br />
						
						<label for="name">Postnr/Ort</label><br class="nobr" />
						<input name="postnummer" value="<%=RecSet("Postnummer")%>" type="text" class="textfield" style="width:50px;" onkeyup="if(!this.value.match(/^\d+$/)){ this.value=(this.value.match(/\d+/))?this.value.match(/\d+/):''; }"  style="background-color:#FFFFCC;" />
						<input name="ort" value="<%=RecSet("Ort")%>" type="text" class="textfieldhighlight" id="ort" style="width:236px;" />
					</div>
					<%
						' Jag lägger den här variabeln här så jag vet att jag har den! Annars funkar inte unikKund.inc...
						' ...sjukt, det funkar om raden ligger ovan textfältet, men inte under. blä!
						Dim Personnummer
						Personnummer = RecSet("Personnummer")
					%>
					<label for="personnummer">Persnr.:</label><br class="nobr" />
					<input name="personnummer" value="<%=Personnummer%>" type="text" class="textfield" id="personnummer" />
					<br />
					<label for="telefon">
					<a href="http://www.lokaldelen.se/ld/white/resultat.do?advanced=true&exact_firstname=&name=&exact_lastname=&lastname=<%=Efternamn%>&city=&exact_address=&address=&zip=<%=Postnummer%>&ort=<%=Ort%>&phone=&Image51.x=22&Image51.y=9" target="_blank">
						Telefon:
					</a>
					</label><br class="nobr" />
					
					<%
						
						TempTel = RecSet("TempTel")
						TempTel2 = TempTel
						IDNr = RecSet("ID")
						Telnr = RecSet("Telnr")
						
						If IsNull(Telnr) Then
						
						If InStr(TempTel,"MULTIPLE") Then
							TempTel = Replace(TempTel,">","")
							TempTel = Replace(TempTel,"<","")
							TempTel = Replace(TempTel,"-","")
							TempTel = Replace(TempTel,"*","")
							TempTel = Replace(TempTel,"HIT","")
							TempTel = Replace(TempTel,":","")
							TempTel = Replace(TempTel,";","")
							TempTel = Replace(TempTel,")","")
							TempTel = Replace(TempTel,"!","")
							TempTel = Replace(TempTel,"/","")
							TempTel = Replace(TempTel,"+46","0")
							TempTel = Replace(TempTel,"Mobil","")
							TempTel = Replace(TempTel,"Tel","")
							TempTel = Replace(TempTel,"br ","")
							TempTel = Replace(TempTel,"Nummer=","<br/><b>NUMMER:</b>")
							TempTel = Replace(TempTel,"MULTIPLE","<b>FLERA NUMMER!</b><br />")
							TempTel = Replace(TempTel,"sphoneid telnr=","<br /><b>NUMMER:</b>")
						%>
							<input name="telefon" value="Flera nummer -->" type="text" class="textfieldhighlight" id="telefon" style="width:279px;" />
						<%
							Else
							
							If NOT IsNull(TempTel) Then
								TempTel = Replace(TempTel,">","")
								TempTel = Replace(TempTel,"<","")
								TempTel = Replace(TempTel,"-","")
								TempTel = Replace(TempTel,"*","")
								TempTel = Replace(TempTel,"HIT","")
								TempTel = Replace(TempTel,":","")
								TempTel = Replace(TempTel,";","")
								TempTel = Replace(TempTel,")","")
								TempTel = Replace(TempTel,"!","")
								TempTel = Replace(TempTel,"/","")
								TempTel = Replace(TempTel,"sphoneid telnr=","")
								TempTel = Replace(TempTel,"Tel","")
								TempTel = Replace(TempTel,"+46","0")
								TempTel = Replace(TempTel," ","",2, 1)
								TempTel = Replace(TempTel,"fil","")
								TempTel = Replace(TempTel,"Mobil","")
								TempTel = Replace(TempTel,"obil ","")
								TempTel = Replace(TempTel,"NUMMER:","")
							Else
								TempTel = ""
							End If
						%>
							<input name="telefon" value="<%=Left(TempTel,10)%>" type="text" class="textfieldhighlight" id="telefon" style="width:279px;" />
						<% End If %>
						<% Else 
						
							If NOT IsNull(TempTel) Then
							TempTel = Replace(TempTel,">","")
							TempTel = Replace(TempTel,"<","")
							TempTel = Replace(TempTel,"-","")
							TempTel = Replace(TempTel,"*","")
							TempTel = Replace(TempTel,"HIT","")
							TempTel = Replace(TempTel,":","")
							TempTel = Replace(TempTel,";","")
							TempTel = Replace(TempTel,")","")
							TempTel = Replace(TempTel,"!","")
							TempTel = Replace(TempTel,"/","")
							TempTel = Replace(TempTel,"+46","0")
							TempTel = Replace(TempTel,"Mobil","")
							TempTel = Replace(TempTel,"Tel","")
							TempTel = Replace(TempTel,"br ","")
							TempTel = Replace(TempTel,"999999 ","")
							TempTel = Replace(TempTel,"Nummer=","")
							TempTel = Replace(TempTel,"MULTIPLE","<b>FLERA NUMMER!</b><br />")
							TempTel = Replace(TempTel,"sphoneid telnr=","<br /><b>NUMMER:</b>")
							End If						
						%>
							<input name="telefon" value="<%=Telnr%>" type="text" class="textfieldhighlight" id="telefon" style="width:279px;" />						
						<% End If %>
						
						<a onclick="javascript:show('root');"><img src="tel.gif" style="margin:0 0 2px 0;" /></a>
						<%
							If Request.Cookies("TempTel") = "0" Then
								Response.Write("<div id=""root"" style=""top:402px;left:129px;"">")
							Else
								Response.Write("<div id=""root"" style=""top:402px;left:129px;display:block;"">")
							End If
						%>
						
							<div id="handle"></div>
							<p style="margin:15px;">
							<%
								Function GetNumbers(str)
									Dim reg,RegExpMatch,RegExpNumber,lMatchCount,ReturnString
									set reg = new RegExp
									reg.IgnoreCase = True
									reg.Global = True
									reg.Pattern = "(0[1-9]\d+)" 'Kan ta bort [1-9] om du även vill träffa på: 0046 exempelvis.
									Set RegExpMatch = reg.Execute(str)
									lMatchCount = RegExpMatch.Count
									
									If lMatchCount Then
									
										ReturnString = "<ul>"
										
										For Each RegExpNumber In RegExpMatch
											ReturnString = ReturnString & "<li>" & RegExpNumber.SubMatches(0)
										Next
										
										ReturnString = ReturnString & "</ul>"
									
									End If
									
									GetNumbers = ReturnString 
								End Function
								
								Response.Write GetNumbers("Bla Bla Bla Bla  0701234567 Bla Bla Bla Bla 08498416 Bla Bla Bla Bla")
							%>
							<br />
							<br />
							<span style="font-size:20px;"><a onclick="javascript:hide('root');">Stäng fönstret!</a></span>
							</p>
						</div>
											
						<script language="javascript">
							var theHandle = document.getElementById("handle");
							var theRoot   = document.getElementById("root");
							Drag.init(theHandle, theRoot);
						</script>
						
					<br />
					<label for="mobil">Mobil:</label><br class="nobr" />
					<input name="mobil" value="<%=RecSet("Mobil")%>" type="text" class="textfieldhighlight" id="mobil" />
					<br />
					<label for="email">E-mail:</label><br class="nobr" />
					<input name="email" value="<%=RecSet("Email")%>" type="text" class="textfield" id="email" />
					<br />
					<label for="kommentar">
					<a href="#" onClick="alert('Kommentarer\n\nKommentarer som underlättar vid nästa kontakttillfälle.\nT.ex Nöjd med jackan/Har även en Cadillac/Trevlig kille/Har haft 14st tjejer senaste året.\n\nHär ska även anges datum samt tid för när du ska återkomma till kunden.')">Kommentar:</a>
					</label><br class="nobr" />
					<textarea cols="30" rows="15" name="kommentar" id="comment" class="textarea"><%=RecSet("Kommentar")%></textarea>
				</div>
```

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

## #9 — @nders, 2007-04-24T07:19Z

Funktioner har ingenting att göra inne i gröt.

Flytta ut funktionen och lägg den för sig själv överst på sidan, eller underst, eller kanske till och med i en includefil med fina funktioner.

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

## #10 — oskars, 2007-04-24T07:27Z

Självklart löste det sig efter ditt senaste inlägg!

TACK SOM FAN FÖR HJÄLPEN!

TACK!!

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

## #11 — oskars, 2007-04-24T07:34Z

En liten supersnäll fråga bara... hur gör jag om jag itne vill loopa ut telefonnumrena så där... utan bara göra en länk av telefonnumren i strängen som den är?

Hoppas jag inte ber om för mkt nu   :r

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

## #12 — voigtann1, 2007-04-24T07:38Z

```
<%
Function JustReplace(str)
  Set objRegExp = New regexp
  objRegExp.Global = true
  objRegExp.IgnoreCase = true
  objRegExp.Pattern = "(0[1-9]\d+)"
  str = objRegExp.Replace(str,"<a href=""#$1"">$1</a>")
  JustReplace = str
end function
%>
```

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

## #13 — oskars, 2007-04-24T07:40Z

PROFFSIGT! Tack återigen!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/159312-regexp-göra-nummer-till-länkar
