名前にRubyの特殊文字や数字が含まれていないか確認したい
概要
これはコードです -
def username_chk(str)
if str.length <=20
if str=~/^[a-zA-Z\\s]+$/
puts "Invalid User name"
else
puts str
end
else puts"User name can contain Max 20 character"
end
end
username_chk("Mark ju09")
動いていない。私も試してみました:
str=~/[a-zA-Z]+\\.?/
str=~/1+$/ この式はパターンを使用して Java で正常に機能します
解決策
結論として、これを記述する方法はいくつかありますが、ここではいくつかの方法を示します。
# pick one of the `if` statements below...
if str =~ /^[a-zA-Z\s]+$/
if str =~ /^[a-z\s]+$/i
puts str # (valid user name)
end
# Or, pick one of these:
# (Note that !~ means "doesn't match"; the opposite of =~)
if str !~ /^[a-zA-Z\s]+$/
if str !~ /^[a-z\s]+$/i
if str =~ /[^a-zA-Z\s]/
if str =~ /[^a-z\s]/i
puts "Invalid User name"
end
ドキュメントを参照してください: こことここ