Escribir en un EditText tipo tarjeta de crédito
public class CreditCardInputFilter implements InputFilter { private Pattern mPattern; private static final int MAX_LENGTH = 19; public CreditCardInputFilter() { mPattern = Pattern.compile("[0-9]{0,19}"); } @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < dest.length(); i++) { char c = dest.charAt(i); if (Character.isDigit(c)) { builder.append(c); } } Matcher matcher = mPattern.matcher(source); if (!matcher.matches()) { return dest.subSequence(dstart, dend); } builder.append(source); String result = builder.toString(); if (result.length() <= MAX_LENGTH) { return source;