Har nu följande kod som söker ut artikelnumret ur en sträng:
strArticleName = request.Querystring("articleName")
strArticleNr = request.Querystring("articleNr")
dim re
set re = new regexp
re.pattern = "\d{8,}"
dim m
set m = re.execute(strArticleName)
if m.count then
Response.redirect "viewMtrl.asp?cmd=noEnumber"
else
re.pattern = "\d{7}"
set m = nothing
set m = re.execute(strArticleName)
if m.count then
strEnumber = m(0)
Else
Response.redirect "viewMtrl.asp?cmd=noEnumber"
end if
end if
set re = nothing
Hur gör jag för att modifiera den så att den först söker av strArticleName, finns det inget där söker den av strArticleNr...
Har försökta att brottas med if-satser men det blir bara pannkaka...
Hmm, kommer på fler funktioner efterhand....
Mvh Henrik
Om du sätter ihop strArticleName och strArticleNr, med ett mellanslag emellan, och kör den gamla funktionen på detta, så kommer du att hitta den första förekomsten, eller ingen alls.
dim re
set re = new regexp
re.pattern = "(\d{7})(\d*)?"
set m = re.execute(strArticleName)
if m.count then
if len(m(0).submatches(1)) > 0 then
response.write "More than 7 consecutive numbers entered"
else
response.write m(0).submatches(0)
end if
else
response.write "Less than 7 consecutive numbers entered"
end if
set re = nothing
strArticleName = request.Querystring("articleName")
strArticleNr = request.Querystring("articleNr")
function searchArticle(art)
dim re
set re = new regexp
re.pattern = "(\d{7})(\d*)?"
set m = re.execute(art)
if m.count then
if len(m(0).submatches(1)) < 1 then
searchArticle = m(0).submatches(0)
exit function
end if
end if
searchArticle = ""
end function
dim s
s = searchArticle(strArticleName)
if len(s) = 0 then
' Testa strArticleNr
s = searchArticle(strArticleNr)
if len(s) > 0 then
' Numret existerar för strArticleNr
else
' Numret existerar ej
end if
else
' Numret existerar för strArticleName
end if
Testa att lägga in den kod som skall vara där jag lagt kommentarer, så får vi se vad som händer. :)
strArticleName = request.Querystring("articleName")
strArticleNr = request.Querystring("articleNr")
function searchArticle(art)
dim re
set re = new regexp
re.pattern = "(\d{7})(\d*)?"
set m = re.execute(art)
if m.count then
if len(m(0).submatches(1)) < 1 then
searchArticle = m(0).submatches(0)
exit function
end if
end if
searchArticle = ""
end function
dim s
s = searchArticle(strArticleName)
if len(s) = 0 then
' Testa strArticleNr
s = searchArticle(strArticleNr)
if len(s) > 0 then
[b]strEnumber = s[/b]
else
[b]Response.redirect "viewMtrl.asp?cmd=noEnumber"[/b]
end if
else
[b]strEnumber = s[/b]
end if
Jag hade använt skrivit fel i querystringen, så strArticleNr blev tom...
Det funkar nu!
Men nu bygger det väl på att E-numret som skrivs i strArticleNr är på 7 siffror och inte innehåller några andra tecken. Några kontroller görs väl inte med det.. eller...
jo, jag testade lite mer och visst är det så... nu kan de där klåparna till elektriker skriva nästan hur som helst men jag kan ändå tyda vad det är för artiklar som dom menar...
Men jag hade ju en diskussion om att det finns en del artiklar (som ej är E-nummer som innehåller 8 tecken... det tas det väl inte hänsyn till va?