私のIDは8808135011086です。内訳は次のとおりです。
880813: yy-mm-dd 形式の生年月日5011: 性別 (0001-4999は女性で、5000-9999は男性)0: 外国かどうか86: 残りが正当であることを確認するバリデーター番号
13 桁の数字を , , のようにグループに分ける880813と5011、0簡単86に取得できます。
/\d{6}\d{4}\d{1}\d{2}/
\d{4}正規表現で数字を探し、それが0001-9999または5000-の間であるかどうかを確認するにはどうすればよい9999ですか? これまでのところ、次のようなコードがあります。
private
def gender_validation(gender)
case gender
when :male
Employee.id_number.match(/\d{6}\d{4}\d{1}\d{2}/)
return true
when :famale
Employee.id_number.match(/\d{6}\d{4}\d{1}\d{2}/)
return true
else
return false
end
マークされた性別が男性の場合、2 番目の部分 が検出され、それがと5223の間にある場合は true が返されます。50009999
私は答えを探しているだけではありません。これを行う方法も知りたいです。