Regular Expressions in VbScript?

后端 未结 5 1316
谎友^
谎友^ 2020-12-18 16:02

Does VbScript have a native implementation for Regex? I need to validate e-mail addresses on an old ASP application.

Any pointers would be great.

5条回答
  •  失恋的感觉
    2020-12-18 16:47

    Since the top answer here is in VB6 I thought I'd add one here in VBScript (since that's what the question is asking for):-

    Option Explicit
    
    Function GetEmailValidator()
    
      Set GetEmailValidator = New RegExp
    
      GetEmailValidator.Pattern = "^((?:[A-Z0-9_%+-]+\.?)+)@((?:[A-Z0-9-]+\.)+[A-Z]{2,4})$"
    
      GetEmailValidator.IgnoreCase = True
    
    End Function
    
    Dim EmailValidator : Set EmailValidator = GetEmailValidator()
    

    Now some tests:-

    Response.Write EmailValidator.Test("") = False
    Response.Write EmailValidator.Test(" ") = False
    Response.Write EmailValidator.Test("somebody@domain.co.uk") = True
    Response.Write EmailValidator.Test("someone@domain.com") = True
    Response.Write EmailValidator.Test("some.body@domain.co.uk") = True
    Response.Write EmailValidator.Test("broken@domain..co.uk") = False
    Response.Write EmailValidator.Test("@oops.co.uk") = False
    Response.Write EmailValidator.Test("name") = False
    Response.Write EmailValidator.Test("name@uk") = False
    Response.Write EmailValidator.Test("name@uk") = False
    Response.Write EmailValidator.Test("name@domain.abcde") = False
    

提交回复
热议问题