VbScript에 Regex의 기본 구현이 있습니까? 이전 ASP 응용 프로그램에서 전자 메일 주소의 유효성을 검사해야합니다.VbScript의 정규 표현식?
모든 포인터가 좋을 것입니다.
VbScript에 Regex의 기본 구현이 있습니까? 이전 ASP 응용 프로그램에서 전자 메일 주소의 유효성을 검사해야합니다.VbScript의 정규 표현식?
모든 포인터가 좋을 것입니다.
이 예제는 확실하지, LessThanDot
Function ValidEmail(ByVal emailAddress)
'this function will use regular expressions to check an '
'email address for validity '
'instantiate regex object container, output boolean '
Dim objRegEx, retVal
'using late binding, vbscript reference is not required '
Set objRegEx = CreateObject("VBScript.RegExp")
'.pattern -looks for a valid email address '
With objRegEx
.Pattern = "^\b[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b$"
.IgnoreCase = True
End With
retVal = objRegEx.Test(emailAddress)
'get rid of RegEx object '
Set objRegEx = Nothing
ValidEmail = retVal
End Function
예에서 AlexCuse입니다. Here's Microsoft's documention.
VBScript에는 Microsoft의 JavaScript 정규식 구현 인 RegExp 개체가 기본 제공되어 있습니다. 내 웹 사이트에 article about the VBScript RegExp object이 있는데 사용 방법이 설명되어 있습니다. 상단 대답은 여기 VB6에 있기 때문에
나는 (그 문제가 요구하고 무엇 때문에) 내가 VBScript로 여기에 하나를 추가 거라고 생각 : - 이제
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()
몇 가지 테스트를 : -
Response.Write EmailValidator.Test("") = False
Response.Write EmailValidator.Test(" ") = False
Response.Write EmailValidator.Test("[email protected]") = True
Response.Write EmailValidator.Test("[email protected]") = True
Response.Write EmailValidator.Test("[email protected]") = True
Response.Write EmailValidator.Test("[email protected]") = False
Response.Write EmailValidator.Test("@oops.co.uk") = False
Response.Write EmailValidator.Test("name") = False
Response.Write EmailValidator.Test("[email protected]") = False
Response.Write EmailValidator.Test("[email protected]") = False
Response.Write EmailValidator.Test("[email protected]") = False
그게 엉성한 매치 패턴이지만, 쉽게 고쳐졌습니다. – FlySwat
하하 나는 그 코드를 꽤 오래 사용하지 않았다. 하지만 경기 패턴을 수정하는 방법을 공유 하시겠습니까? 정규 표현식을 너무 자주 사용하지는 않지만 항상 팁을 찾고 있습니다. – AlexCuse
이것은 "[email protected]"이라는 불법적 인 "[email protected]"는 허용하지 않으며 IDN은 허용하지 않습니다. "mailtest @ 예 え. 테스토"(또는 punny-code로 변환 : "[email protected]") – some