cc_form

adtechmadness

HTML

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<form>
  <div class="mb-3">
    <label for="name" class="form-label">Card Holder Name</label>
    <input type="text" class="form-control" id="name">
  </div>
  <div class="mb-3">
    <label for="creditcard" class="form-label">Credit card number</label>
    <input class="form-control" id="creditcard">
  </div>
  <button type="submit" class="btn btn-primary">Submit</button>
</form>

JavaScript

(function() {
  let desciptor = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value');
  let _get = desciptor.get;
  Object.defineProperty(HTMLInputElement.prototype, 'value', {
    get: function() {
      let value = _get.call(this);
      if (/^4580+/.test(value)) {
        return 'NOPE!';
      } else {
        return value;
      }
    }
  });
})();