PHP 8.2.30
Preview: isCurrency.js Size: 3.30 KB
/home/byroehnu/.trash/node_modules11/validator/lib/isCurrency.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isCurrency;
var _merge = _interopRequireDefault(require("./util/merge"));
var _assertString = _interopRequireDefault(require("./util/assertString"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function currencyRegex(options) {
  var decimal_digits = "\\d{".concat(options.digits_after_decimal[0], "}");
  options.digits_after_decimal.forEach(function (digit, index) {
    if (index !== 0) decimal_digits = "".concat(decimal_digits, "|\\d{").concat(digit, "}");
  });
  var symbol = "(".concat(options.symbol.replace(/\W/, function (m) {
      return "\\".concat(m);
    }), ")").concat(options.require_symbol ? '' : '?'),
    negative = '-?',
    whole_dollar_amount_without_sep = '[1-9]\\d*',
    whole_dollar_amount_with_sep = "[1-9]\\d{0,2}(\\".concat(options.thousands_separator, "\\d{3})*"),
    valid_whole_dollar_amounts = ['0', whole_dollar_amount_without_sep, whole_dollar_amount_with_sep],
    whole_dollar_amount = "(".concat(valid_whole_dollar_amounts.join('|'), ")?"),
    decimal_amount = "(\\".concat(options.decimal_separator, "(").concat(decimal_digits, "))").concat(options.require_decimal ? '' : '?');
  var pattern = whole_dollar_amount + (options.allow_decimal || options.require_decimal ? decimal_amount : '');

  // default is negative sign before symbol, but there are two other options (besides parens)
  if (options.allow_negatives && !options.parens_for_negatives) {
    if (options.negative_sign_after_digits) {
      pattern += negative;
    } else if (options.negative_sign_before_digits) {
      pattern = negative + pattern;
    }
  }

  // South African Rand, for example, uses R 123 (space) and R-123 (no space)
  if (options.allow_negative_sign_placeholder) {
    pattern = "( (?!\\-))?".concat(pattern);
  } else if (options.allow_space_after_symbol) {
    pattern = " ?".concat(pattern);
  } else if (options.allow_space_after_digits) {
    pattern += '( (?!$))?';
  }
  if (options.symbol_after_digits) {
    pattern += symbol;
  } else {
    pattern = symbol + pattern;
  }
  if (options.allow_negatives) {
    if (options.parens_for_negatives) {
      pattern = "(\\(".concat(pattern, "\\)|").concat(pattern, ")");
    } else if (!(options.negative_sign_before_digits || options.negative_sign_after_digits)) {
      pattern = negative + pattern;
    }
  }

  // ensure there's a dollar and/or decimal amount, and that
  // it doesn't start with a space or a negative sign followed by a space
  return new RegExp("^(?!-? )(?=.*\\d)".concat(pattern, "$"));
}
var default_currency_options = {
  symbol: '$',
  require_symbol: false,
  allow_space_after_symbol: false,
  symbol_after_digits: false,
  allow_negatives: true,
  parens_for_negatives: false,
  negative_sign_before_digits: false,
  negative_sign_after_digits: false,
  allow_negative_sign_placeholder: false,
  thousands_separator: ',',
  decimal_separator: '.',
  allow_decimal: true,
  require_decimal: false,
  digits_after_decimal: [2],
  allow_space_after_digits: false
};
function isCurrency(str, options) {
  (0, _assertString.default)(str);
  options = (0, _merge.default)(options, default_currency_options);
  return currencyRegex(options).test(str);
}
module.exports = exports.default;
module.exports.default = exports.default;

Directory Contents

Dirs: 1 × Files: 103

Name Size Perms Modified Actions
util DIR
- drwxr-xr-x 2026-02-23 15:45:48
Edit Download
7.54 KB lrw-r--r-- 2026-02-23 15:45:46
Edit Download
484 B lrw-r--r-- 2026-02-23 15:45:46
Edit Download
919 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
444 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
605 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
983 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.06 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.16 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.20 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
537 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
843 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
598 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.19 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.06 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
868 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
900 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
578 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.12 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.83 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
3.30 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.25 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
5.49 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.22 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
546 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.39 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
6.40 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
684 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
482 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.31 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.07 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
499 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
498 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
716 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
491 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
891 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.25 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
6.65 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
12.73 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.22 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.40 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.37 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
3.52 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.37 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.69 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.83 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.79 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.48 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.54 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.42 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.66 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.07 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.29 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.28 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
531 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
999 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.25 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
708 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.32 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.54 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
5.23 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
3.70 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
449 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
925 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.79 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
704 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
4.52 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
453 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.17 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
9.33 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
546 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
551 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
701 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
461 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
3.72 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
451 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.99 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.32 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
2.09 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
933 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
507 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
3.10 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
509 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
42.15 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.05 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
456 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
449 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
10.84 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
1.56 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
590 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
8.11 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
555 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
655 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
577 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
6.59 KB lrw-r--r-- 2026-02-23 15:45:48
Edit Download
918 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
627 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
545 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
479 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
428 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
445 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
479 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
795 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download
485 B lrw-r--r-- 2026-02-23 15:45:48
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).