Sarà un errore stupido ma non lo vedo...

Ho usato un comune script per controllare validità e-mail:

Function CheckEmail(str)

Dim objER, result
Set objER = New RegExp
objER.Global = True
objER.IgnoreCase = True
objER.Pattern = "^[\w\.-]+@[\w\.-]+\.[a-z]{2,3}$"
result = objER.Test(str)
Set objER = Nothing
CheckEmail = result

End Function

Poi ho creato una
SUB errorForm (theError)
per verificare i dati inserimento form

Infine

stremail = trim(requestf("email"))
IF CheckEmail(str) THEN
errorForm "La e-mail inserita non è corretta"
END IF

Il problema è che salta il controllo.

Dove ho sbagliato?

Grazie, ciao