[PowerShell] Bash验证信用卡卡号是否有效 →→→→→进入此内容的聊天室

来自 , 2020-08-17, 写在 PowerShell, 查看 113 次.
URL http://www.code666.cn/view/782086ac
  1. #!/bin/bash
  2.  
  3. function luhn_validate  # <numeric-string>
  4. {
  5.     num=$1
  6.     shift 1
  7.  
  8.     len=${#num}
  9.     is_odd=1
  10.     sum=0
  11.     for((t = len - 1; t >= 0; --t)) {
  12.         digit=${num:$t:1}
  13.  
  14.         if [[ $is_odd -eq 1 ]]; then
  15.             sum=$(( sum + $digit ))
  16.         else
  17.             sum=$(( $sum + ( $digit != 9 ? ( ( 2 * $digit ) % 9 ) : 9 ) ))
  18.         fi
  19.  
  20.         is_odd=$(( ! $is_odd ))
  21.     }
  22.  
  23.     # NOTE: returning exit status of 0 on success
  24.     return $(( 0 != ( $sum % 10 ) ))
  25. }
  26.  
  27.  
  28. function print_result  # <numeric-string>
  29. {
  30.     if luhn_validate "$1"; then
  31.         echo "$1 is valid"
  32.     else
  33.         echo "$1 is not valid"
  34.     fi
  35. }
  36.  
  37. print_result "49927398716"
  38. print_result "49927398717"
  39. print_result "1234567812345678"
  40. print_result "1234567812345670"
  41.  
  42.  
  43. //shell/7110

回复 "Bash验证信用卡卡号是否有效"

这儿你可以回复上面这条便签

captcha