验证字母的用户输入

时间:2014-10-17 14:59:23

标签: validation livecode letters

我最近一直在尝试验证用户输入,以便只接受来自字母表的字母,我该怎么做?我知道如何验证大多数事情的用户输入,但是这一行代码确实令我感到不安。

1 个答案:

答案 0 :(得分:0)

您可以使用此功能检查字段的内容:

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

^[a-zA-Z]+$是正则表达式。 ^表示字符串的开头,括号等于一个char,括号内的表达式确定一组字符。 +表示所有后续字符必须等于前一个(一组)字符。 $表示字符串的结尾。换句话说,根据这个表达式,所有字符必须是集合a,包括z或A直到并包括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处理程序中。

相关问题