IBAN, any country, checked by HTML alone

This page contains no script. The field's pattern attribute holds a 178,241-character regular expression that the browser's own form validation runs on every change.

Accepted
2 capitals for the country, 2 check digits, then the account number laid out as that country's IBANs are (15 to 33 characters in all). No spaces.
Valid
GB82WEST12345698765432
Invalid
GB82WEST12345698765433 (last character changed)

Change the last character and the field turns red; submitting is blocked with the browser's own message. The field is required, so an empty field is invalid too. For an optional field, remove required: browsers never test an empty value against the pattern.

The check catches any single wrong digit. Some schemes miss certain swaps of neighbours: Luhn misses 09 ↔ 90, barcodes miss swaps of digits that differ by 5. Generated by rexsum.