RT

解决方案 »

  1.   

    add a reference to "Microsoft VBScript Regular Expressions ..", then use RegExp object, seehttp://faculty.winthrop.edu/snyderr/VB.EP/re-01.asp
      

  2.   

    http://www.china-askpro.com/msg26/qa18.shtml
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsobjregexp.asp
      

  3.   

    Public myReg As New RegExp          '正则表达式Public Sub SetNumber(obj As TextBox, PointNum As Integer, Optional SignFlag As Boolean = True)
    On Error Resume Next
        Dim ls_Pattern As String, ls_Text As String, ls_Tag, i As Long    ls_Pattern = IIf(SignFlag, "^[\-]{0,1}", "^")
        ls_Pattern = ls_Pattern & "(0|[1-9][0-9]{0,50})([\.][0-9]{0," & PointNum & "}){0," & IIf(PointNum = 0, "0", "1") & "}$"
        myReg.IgnoreCase = True
        myReg.Pattern = ls_Pattern
        ls_Text = obj.Text
        ls_Tag = obj.Tag    i = obj.SelStart
        If Not myReg.Test(ls_Text) And ls_Text <> "" Then
            obj.Text = ls_Tag
            obj.SelStart = IIf(i = 0, 1, i - Abs(Len(ls_Text) - Len(ls_Tag)))
        Else
            obj.Tag = ls_Text
        End If
    End Sub