Android Open Source - Android-sample Credit Card Validator






From Project

Back to project page Android-sample.

License

The source code is released under:

Apache License

If you think the Android project Android-sample listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.andreabaccega.formedittextvalidator;
//w ww.  jav a  2 s . c  om

import android.widget.EditText;

/**
 * This validator takes care of validating the edittext. The input will be valid only if the number is a valid credit card.
 * @author Andrea Baccega <me@andreabaccega.com>
 *
 */
public class CreditCardValidator extends Validator{
  public CreditCardValidator(String _customErrorMessage) {
    super(_customErrorMessage);
  }


  public boolean isValid(EditText et) {
    try {
      return validateCardNumber(et.getText().toString());
    } catch (Exception e) {
      return false;
    }
  }

  /**
   * Validates the credit card number using the Luhn algorithm
   * @param cardNumber the credit card number
   * @return
   */
  public static boolean validateCardNumber(String cardNumber) throws NumberFormatException {
    int sum = 0, digit, addend = 0;
    boolean doubled = false;
    for (int i = cardNumber.length () - 1; i >= 0; i--) {
      digit = Integer.parseInt (cardNumber.substring (i, i + 1));
      if (doubled) {
        addend = digit * 2;
        if (addend > 9) {
          addend -= 9; 
        }
      } else {
        addend = digit;
      }
      sum += addend;
      doubled = !doubled;
    }
    return (sum % 10) == 0;
  }
}




Java Source Code List

com.andreabaccega.formedittextvalidator.AlphaNumericValidator.java
com.andreabaccega.formedittextvalidator.AlphaValidator.java
com.andreabaccega.formedittextvalidator.AndValidator.java
com.andreabaccega.formedittextvalidator.CreditCardValidator.java
com.andreabaccega.formedittextvalidator.DateValidator.java
com.andreabaccega.formedittextvalidator.DomainValidator.java
com.andreabaccega.formedittextvalidator.DummyValidator.java
com.andreabaccega.formedittextvalidator.EmailValidator.java
com.andreabaccega.formedittextvalidator.EmptyValidator.java
com.andreabaccega.formedittextvalidator.IpAddressValidator.java
com.andreabaccega.formedittextvalidator.MultiValidator.java
com.andreabaccega.formedittextvalidator.NotValidator.java
com.andreabaccega.formedittextvalidator.NumericValidator.java
com.andreabaccega.formedittextvalidator.OrValidator.java
com.andreabaccega.formedittextvalidator.PatternValidator.java
com.andreabaccega.formedittextvalidator.PersonFullNameValidator.java
com.andreabaccega.formedittextvalidator.PersonNameValidator.java
com.andreabaccega.formedittextvalidator.PhoneValidator.java
com.andreabaccega.formedittextvalidator.RegexpValidator.java
com.andreabaccega.formedittextvalidator.SameValueValidator.java
com.andreabaccega.formedittextvalidator.Validator.java
com.andreabaccega.formedittextvalidator.WebUrlValidator.java
com.andreabaccega.widget.DefaultEditTextValidator.java
com.andreabaccega.widget.EditTextValidator.java
com.andreabaccega.widget.FormEditText.java
com.andreabaccega.widget.ValidatingEditTextPreference.java
uk.co.senab.photoview.Compat.java
uk.co.senab.photoview.IPhotoView.java
uk.co.senab.photoview.PhotoViewAttacher.java
uk.co.senab.photoview.PhotoView.java
uk.co.senab.photoview.gestures.CupcakeGestureDetector.java
uk.co.senab.photoview.gestures.EclairGestureDetector.java
uk.co.senab.photoview.gestures.FroyoGestureDetector.java
uk.co.senab.photoview.gestures.GestureDetector.java
uk.co.senab.photoview.gestures.OnGestureListener.java
uk.co.senab.photoview.gestures.VersionedGestureDetector.java
uk.co.senab.photoview.log.LogManager.java
uk.co.senab.photoview.log.LoggerDefault.java
uk.co.senab.photoview.log.Logger.java
uk.co.senab.photoview.scrollerproxy.GingerScroller.java
uk.co.senab.photoview.scrollerproxy.IcsScroller.java
uk.co.senab.photoview.scrollerproxy.PreGingerScroller.java
uk.co.senab.photoview.scrollerproxy.ScrollerProxy.java