2014-10-17 128 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