Just nu i M3-nätverket
Jump to content

Rensa bort tecken


Christoph

Recommended Posts

Hej,

 

jag har ett forumärfält där användaren skall mata in en sträng likt

 

123/4+567/8

 

som sedan splitras upp enl. följande:

 

[MÄRK]<%[/MÄRK]
  FormFaelt = [b]Request[/b].Form([GRÅ]"KvittoOchTerminal"[/GRÅ])
  Par = [color="#0000ff"]Split[/color](FormFaelt, [GRÅ]"+"[/GRÅ])
  [color="#0000ff"]For[/color] i = 0 [color="#0000ff"]To[/color] [color="#0000ff"]UBound[/color](Par)
    TmpPar = [color="#0000ff"]Split[/color](Par(i), [GRÅ]"/"[/GRÅ])
    [color="#0000ff"]If[/color] [color="#0000ff"]UBound[/color](TmpPar)=1 [color="#0000ff"]Then[/color]
      Kvitto = TmpPar(0)
      Terminal = TmpPar(1)
      [color="#006400"]' ...[/color]
   [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
  [color="#0000ff"]Next[/color]
[MÄRK]%>[/MÄRK]

 

Jag vill dock, innan koden körs, kontrollera att variabeln FormFaelt endast innehåller rätt format, dvs. inga mellanslag eller omkastad format (dvs. byta "/" mot "+" och "+" mot "-"), annars går det väl åt skogen. Är det någon som kan hjälpa till att finslipa detta lite? Tack!!!

 

Hälsningar,

 

Christoph

 

 

 

[inlägget ändrat 2005-01-10 09:24:33 av Christoph]

Link to comment
Share on other sites

Använd den här funktionen för att testa om strängen är på formatet:

nn/nn+nn/nn

 

[color="#0000ff"]Function[/color] TestString(strData)
[color="#0000ff"]Set[/color] regEx = [color="#0000ff"]New[/color] RegExp
regEx.IgnoreCase = [color="#0000ff"]True[/color]
regEx.Global= [color="#0000ff"]True[/color]
regEx.Pattern =[GRÅ]"\d+/\d+\+\d+/\d+"[/GRÅ]
TestString=regEx.test(strData)
[color="#0000ff"]End[/color] [color="#0000ff"]Function[/color]

 

Link to comment
Share on other sites

Hej,

 

tack för svaret. Funkar bra med minst 2 "par", t. ex. "123/4+567/8", dock inte med endast 1, t. ex. "123/4". Vet Du hur man kan fixa till detta?

 

Hälsningar,

 

Christoph

 

EDIT: Det kanske bör tilläggas att användaren kan knappa in ett eller flera "par", det behöver inte nödvändigvis vara 1 eller 2, det kan blir 20 också.

[inlägget ändrat 2005-01-10 09:47:59 av Christoph]

Link to comment
Share on other sites

Ah, sorry, skrev den bara för två termer. Följande bör fungera för en term och uppåt:

 

[color="#0000ff"]Function[/color] TestString(strData)
[color="#0000ff"]Set[/color] regEx = [color="#0000ff"]New[/color] RegExp
regEx.IgnoreCase = [color="#0000ff"]True[/color]
regEx.Global= [color="#0000ff"]True[/color]
regEx.Pattern =[GRÅ]"(\d+/\d+\+)*\d+/\d+"[/GRÅ]
TestString=regEx.test(strData)
[color="#0000ff"]End[/color] [color="#0000ff"]Function[/color]

 

Link to comment
Share on other sites

Archived

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



×
×
  • Create New...