VB有什么好的方法判断输入的是英文域名?
判断是否中英比较好判断
LenB(StrConv(tUrl, vbFromUnicode)) = Len(tUrl)
就可以了
判断是域名就比较麻烦了
因为域名可以是http://www.163.com 
也可以是
www.163.com 
也可以是
163.com 
也可以是
aa.163.com 也可以是
http://www.163.net  .....等等等等我现在是用  If LenB(StrConv(tUrl, vbFromUnicode)) = Len(tUrl) And InStr(tUrl, ".") > 0 Then
来判断
当然不够严谨这样的话比如输入 sdfsds.
也会被作为域名看有什么好的办法判断输入的 是英文域名?

解决方案 »

  1.   


    If LenB(StrConv(tUrl, vbFromUnicode)) = Len(tUrl) And (InStr(tUrl, ".com") or InStr(tUrl, ".net") or InStr(tUrl, ".cn")) > 0 Then 
      

  2.   

    除了.com .cn .net 还有很多很多种后缀呢
      

  3.   

    If LenB(StrConv(tUrl, vbFromUnicode)) = Len(tUrl) And tUrl like "*.?*" Then
    也不是很严谨,呵呵
      

  4.   

    先判断是否为非中文字符串,然后用var=split(url,".")来判断var的数组上界是否为零及提取出来的每个字符串片断是否有一个为空串,如果有一个为空串,则返回FALSE。
      

  5.   

    Private Declare Function IsValidURL Lib "URLMON.dll" ( _
         ByVal pbc As Long, _
         ByVal szURL As String, _
         ByVal dwReserved As Long) As Long'测试调用:
        Debug.Print IsValidURL(0, "www.m5home.eom", 0)'返回值:
    'S_OK   The szURL parameter contains a valid URL. 
    'S_FALSE   The szURL parameter does not contain a valid URL. 
    'E_INVALIDARG   One of the parameters is invalid. 
    抢分,哇哈哈哈哈哈哈
      

  6.   

    怎么我测试后,都是显示1?
    不管是:
    Debug.Print IsValidURL(0, "www.m5home.eom", 0)
    还是
    Debug.Print IsValidURL(0, "www.163.eom", 0)
    还是
    Debug.Print IsValidURL(0, "你是?", 0)