none
[vb 6] 檢查文字只有英文字和數字和_ RRS feed

  • 問題

  • 因為學校中是教vb 6的

    而我是用開2008的所以不太懂vb6的東西

    而檢查文字方面我2008方面也不懂

     

    所以希望大大指教一下

    在一個string中檢查只有英文(大小階也可)和數字和 _ 

    其他的符號(如空格, !@#$%^&*( 這些, 中文字等等都不能)

     

    謝謝

    2010年11月25日 上午 10:04

解答

  • dear
    你可以利用ASCII碼來處理,首先先把字串拆成字元取取它們的ASCII
            For index = 0 To TextBox1.Text.Length - 1
                Dim c As Int32 = Asc(TextBox1.Text(index))
                MessageBox.Show(c)
            Next

    然後查表,c變數若在48~57,表示它是數字,
    c變數若在65~90是大寫的英文字母
    c變數若在97~122是小寫的英文字母

    http://home.educities.edu.tw/wanker742126/asm/ap04.html

     


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年11月25日 上午 10:25

所有回覆

  • dear
    你可以利用ASCII碼來處理,首先先把字串拆成字元取取它們的ASCII
            For index = 0 To TextBox1.Text.Length - 1
                Dim c As Int32 = Asc(TextBox1.Text(index))
                MessageBox.Show(c)
            Next

    然後查表,c變數若在48~57,表示它是數字,
    c變數若在65~90是大寫的英文字母
    c變數若在97~122是小寫的英文字母

    http://home.educities.edu.tw/wanker742126/asm/ap04.html

     


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年11月25日 上午 10:25
  • 謝謝

     

    我已將它轉成vb6版本

     

    For i = 1 To Len(request.QueryString("id"))

    c = Asc(mid(request.QueryString("id"), i,1))

    response.Write(c)

    Next

    2010年11月25日 上午 11:37
  • VB6 裡面沒有 request / response
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年11月25日 下午 02:08
  • vbscript嗎?

    用正則跑這串:[a-zA-Z0-9]|_

    2010年11月25日 下午 02:39
  • 您可以用Regular Expression來做, 請參考:How to Use Regular Expressions in Visual Basic
    只能接受英數字的Expression為:[^a-zA-Z0-9]
    2010年11月26日 上午 01:04
  • 呀呀

    我把asp和這個亂了

    dim a as string

    a = inputbox("press enter the word")

    dim ok as boolean

    ok = true

    For i = 1 To Len(a)

    c = Asc(mid(a, i, 1))

    if (c>=48 and c<=57) or (c>=65 and c<=90) or (c>=97 and c<=122) or c=95 then

    else

    ok = false

    end if

    Next

    if ok then

    msgbox("ok!")

    else

    msgbox("no")

    end if

    2010年11月26日 上午 09:07
  • 還有一種方法...

    1. 設定允許字串,例如:

    allowString="ABCDEFabcdef0123456789."

    2. 回圈內改用

    tloc = Instr(allowString, mid(a, i, 1))

    tLoc > 0 就是有,tLoc = 0 就是不允許。

     

    適用在規則亂七八糟的地方。


    T.L. Cheng
    2010年12月4日 上午 07:49
    版主