Repository navigation
rexsum: check-digit validation in the HTML pattern attribute, with no JavaScript.
In this release
rexsum-<version>.tar.gz: the source at this tag, withLICENSE,patterns.json, the
standalone examples (site/examples/), the test cases (tests/cases.json, edge cases in
tests/boundary.py), the V8 benchmark snapshot (speed.json, with Node and V8 versions,
hardware and date) and the native Safari report (reports/safari.txt).patterns.json: every pattern, with its size, its parts and how it was tested.rexsum-examples-<version>.zip: one HTML page per scheme. Open one from disk, turn JavaScript
off, and change the last character: the field turns invalid. No script, no external files.browser-report.json: the browser checks below, run on the files extracted from the bundle.SHA256SUMS: for all of the above.
Setup
The compiler and the patterns need nothing but Python 3.10 or later. Verification needs pytest
(pip install pytest), Node 20 or later for the V8 check, and Playwright for the browser check
(pip install playwright && python -m playwright install chromium firefox webkit). The
JavaScriptCore and native Safari checks run on macOS.
Browser verification (2026-10-27, Linux x86_64, tested from the extracted bundle)
| Engine (Playwright build) | Version | Patterns | Test strings | Mismatches | Examples |
|---|---|---|---|---|---|
| chromium | 156.0.8078.4 | 19 | 15,014 | 0 | 19 of 19 pass |
| firefox | 157.0 | 19 | 15,014 | 0 | 19 of 19 pass |
| webkit | 27.2 | 19 | 15,014 | 0 | 19 of 19 pass |
SHA-256:
b62a20c03296288fc933cfa4ecb2445c9a40a392676369dc72994fb2b08c2243 browser-report.json
923e49c04c6dd2b97e33fc0aa261a5c63fe4df3a8150804f4c9d47e9edd777cf patterns.json
5360768806e9cf7f760e6ee8160c66585d94cb7b2766aa08a5c2f2226d7d70ac rexsum-0.1.0.tar.gz
8fcfcce138074737cd7c68eb729e5b44190cd652f86b1b5b02c5a4c8b7978aed rexsum-examples-0.1.0.zip