如何使用
防止用户输入大写字母user = get.chomp
如果我不想使用
user.downcase!
我希望用户不能输入大写字母
答案 0 :(得分:1)
是的,您可以通过以下方式执行此操作,getch一次只能使用一个字符。 一个caviat:你需要用两个返回来结束字符串。 请记住,这只是控制台,如果您想要更多或更好的控制使用简单的GUI框架,例如Shoes使用Web界面。
require 'io/console'
input, user = "", ""
while input != "\n"
input = STDIN.getch
if ('a'..'z').include? input
print input
user += input
end
end
puts "\nuser = #{user}"
答案 1 :(得分:0)
如果你想验证它是完全小写的那么简单的方法是:
user = gets.chomp
if (user == user.downcase)
# All downcase
end
您还可以使用正则表达式:
user = gets.chomp
if (user.match(/\A[a-z]\z/)
# All downcase
end
这样可以自定义允许使用哪些字符,例如_
是否可以接受。
你不能阻止他们输入大写字母,除非你用Curses之类的东西做很多工作来处理个别击键并控制回声输出。这是一大堆工作,我不推荐它。