2014-10-17 133 views
0

我最近一直在嘗試驗證用戶輸入,以便只接受字母表中的字母,我該怎麼做?我知道如何驗證用戶輸入的大部分內容,但這一行字母代碼真的讓我感到困擾。爲字母驗證用戶輸入

+0

你會想添加一些代碼來顯示你迄今爲止嘗試過的。否則,這個問題很可能會被封閉甚至刪除。 – Mark 2014-10-17 15:36:57

回答

0

您可以使用此功能檢查字段的內容:

function validate theString 
    return matchText(theString,"^[a-zA-Z]+$") 
end validate 

^[a-zA-Z]+$是一個正則表達式。 ^指示字符串的開始,括號等於一個字符,括號內的表達式確定一組字符。 +表示後面的所有字符必須與前面的(一組)字符相同。 $表示字符串的結尾。換句話說,根據這個表達式,所有字符必須是集合a到z並且包括z或A到Z並且包括Z.

matchText()是一個LiveCode函數,它檢查第一個參數中的字符串是否匹配第二個參數中的正則表達式。把validate()功能在某處卡或堆棧水平,並調用它從一個領域的rawKeyUp處理程序:

on rawKeyUp 
    if not validate(the text of me) then 
    beep 
    answer "Sorry, that's wrong" 
    end if 
end rawKeyUp 

你也可以事先檢查:

on keyDown theKey 
    if validate(theKey) then 
    pass keyDown 
    end if 
end keyDown 

這個方法稍微繁瑣。您也可以將matchText函數放入您的字段的keyDown處理函數中。

+0

非常感謝!這工作。 – 2014-10-17 19:25:39