Ken*_*and 4 ruby string ruby-on-rails credit-card activemerchant
在rails项目上工作,其中有一个订单确认字符串,其中包含除最后四位数之外的所有信用卡号码.做字符串替换的正确方法是什么?
得到这个的操作是什么?
credit_card_number = "1111111111111111"
Run Code Online (Sandbox Code Playgroud)
这个?
credit_card_number = "************1111"
Run Code Online (Sandbox Code Playgroud)
谢谢,
贤治
Mar*_*ers 16
这是一个正则表达式的方法:
x.gsub!(/.(?=....)/, '*')
Run Code Online (Sandbox Code Playgroud)
这是一种使用字符串索引的方法:
x = '*' * (x.size - 4) + x[-4, 4]
Run Code Online (Sandbox Code Playgroud)
如果您正在使用ActiveMerchant,请ActiveMerchant::Billing::CreditCard调用一个实例方法display_number,例如XXXX-XXXX-XXXX-4338
如果不是,请复制activemerchant:
def last_digits(number)
number.to_s.length <= 4 ? number : number.to_s.slice(-4..-1)
end
def mask(number)
"XXXX-XXXX-XXXX-#{last_digits(number)}"
end
credit_card_number = "1111111111111111"
display_number = mask credit_card_number
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5451 次 |
| 最近记录: |