Techioz Blog

名前に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

ドキュメントを参照してください: こことここ