ggez-banking-sdk
Version:
A Node.js package to handle GGEZ Banking API endpoints, Simplify the process of managing CRUD operations with this efficient and easy-to-use package.
117 lines (116 loc) • 7.24 kB
JavaScript
const regexPatterns = {
checkEmptyPattern: { required: true },
GeoCoordinatesPattern: /^(-?(?:1[0-7]|[1-9])?\d(?:\.\d{1,24})?|180(?:\.0{1,24})?)$/,
GGEZAddressRegexPattern: /^ggez[A-Za-z0-9]{30,80}$/,
GGEZQuantityRegexPattern: /^(?!0(\.0{1,2})?$)(?!0\d)\d{1,16}(?:\.\d{1,6})?$/,
NameRegexPattern: /^(?!.*--)[\p{L}\p{N}][^\\\/*$%^+=<>|\n\r\b\t]{0,49}$/u,
EmailRegexPattern: /^([\w-+\.]{1,80})@([\w-+\.]{1,80})\.([a-zA-Z]{1,20})$/,
MoneyRegexPattern: /^(?!0(\.0{1,2})?$)(?!0\d)\d{1,7}(?:\.\d{1,2})?$/,
DateRegexPattern: /^\d{4}-\d{2}-\d{2}$/u,
DateTimeRegexPattern: /^(19|20)\d{2}-(0[1-9]|1[0-2])-(0[1-9]|1\d|2\d|3[01])T(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]){1,22}$/,
SortRegexPattern: /^(asc|desc)$/,
URLRegexPattern: /^(http|https):\/\/[\w\-_.]+(\:[0-9]+)?(\.[\w\-_.]+)*(\/[\w\-.,@?^=%&:\/~+#]*)?$/,
TerminalSecurityIDRegexPattern: /^[/+0-9a-zA-Z=_-]{1,50}$/,
ResultSetDateRegexPattern: /^([0-9]{4})[\/|-]((0[1-9])|(1[0-2]))[\/|-]((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))$/,
StatementMonthRegexPattern: /^([0-9]{4})[\/|-]((0[1-9])|(1[0-2]))$/,
ENNotes100CharRegexPattern: /^(?!.*--)[?-?a-zA-Z0-9][^\^+=<>|\n\r\b\t]{0,100}$/,
ENNotes250CharRegexPattern: /^$|(^(?!.*--)[?-?a-zA-Z0-9][^\^+=<>|\n\r\b\t]{0,255}$)/,
ENNotes500CharRegexPattern: /^$|(^(?!.*--)[?-?a-zA-Z0-9.+][^\^=<>|\n\r\b\t]{0,500}$)/,
INTText100CharRegexPattern: /^(?!.*--)[\w\+\-][^\^+=<>|\n\r\t]{0,100}$/,
PostalCodeRegexPattern: /^(?!.*--)[\w][^\*$%^+=<>|\n\r\t]{1,19}$/,
INTText255CharRegexPattern: /^(?!.*--)[\w\+\-][^\^+=<>|\n\r\t]{0,255}$/,
INTText500CharRegexPattern: /^(?!.*--)[\w\+\-][^\^+=<>|\n\r\t]{0,500}$/,
AddressLineRegexPattern: /^$|(^(?!.*--)[\w][^\^+=<>|\n\r\t]{0,500}$)/,
INTLongDescriptionRegexPattern: /^(?!.*--)[\w][^\^+=<>|\n\r\t]{1,8000}$/,
TimeZoneRegexPattern: /^((?:UTC [+|-](?:2[0-3]|[01][0-9]):[0-5][0-9])){1,10}$/,
OperationAndClassificationRegexPattern: /^[a-zA-Z_\/*\s]{1,50}$/,
PhoneNumberRegexPattern: /^[+]([1-9])\d{7,14}$/,
SourceIDRegexPattern: /^[a-zA-Z0-9_\-\.\=\/]{1,100}$/,
BooleanRegexPattern: /^[0-1]{1,1}$/,
SortByRegexPattern: /^[a-zA-Z0-9_]{1,22}$/,
TernaryRegexPattern: /^[0-2]{1,1}$/,
InstallationKeyRegexPattern: /^[a-zA-Z0-9\s-]{1,50}$/,
LanguageRegexPattern: /^[a-zA-Z]{1,2}(-[a-zA-Z]{1,2})?$/,
TypeRegexPattern: /^[0-9]{1,1}$/,
IDRegexPattern: /^[0-9]{1,10}$/,
CurrencyCodeRegexPattern: /^[0-9a-zA-Z]{3,10}$/,
AccountNumberRegexPattern: /^[0-9]{6,25}$/,
CreditCardNumberRegexPattern: /^[0-9]{1,16}$/,
Numeric2DigitRegexPattern: /^(-1|[0-9]{1,2})$/,
AlphanumericCode20CharRegexPattern: /^[a-zA-Z0-9-]{1,20}$/,
AlphanumericCode4CharRegexPattern: /^[a-zA-Z0-9-]{1,4}$/,
Numeric9DigitRegexPattern: /(^$)|(^[0-9]{1,9}$)/,
Numeric10DigitRegexPattern: /(^$)|(^[0-9]{1,10}$)/,
Numeric25DigitRegexPattern: /^[0-9]{1,25}$/,
Numeric8DigitRegexPattern: /^[0-9]{1,8}$/,
Numeric3DigitRegexPattern: /^[0-9]{1,3}$/,
Numeric4DigitRegexPattern: /^[0-9]{1,4}$/,
Numeric5DigitRegexPattern: /^[0-9]{1,5}$/,
Numeric6DigitRegexPattern: /^[0-9]{1,6}$/,
Alphanumeric500CharRegexPattern: /^[a-zA-Z0-9-]{1,500}$/,
TokenRegexPattern: /[A-Za-z0-9\-\._~\+\/]+=*/,
TextBooleanRegexPattern: /^(true|false)$/,
LanguageCultureRegexPattern: /^[a-zA-Z-]{1,5}$/,
INTText1024CharRegexPattern: /^|^(?!.*--)[\w\+\-][^\^+=<>|\n\r\t]{0,1024}$/,
QuaternaryRegexPattern: /^[1-4]{1,1}$/,
SWIFTRegexPattern: /^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?$/,
IBANRegexPattern: /[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}/,
AttachmentContentRegexPattern: /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/,
YearRegexPattern: /^(20|21)\d{2}$/,
MonthRegexPattern: /^(0[1-9]|1[0-2])$/,
PasswordRegexPattern: /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[!@#$%^&*()_+{}\[\]:;<>,.?~\\\-]).{8,25}$/,
TimeRegexPattern: /^(([01][0-9])|([2][0-3])):[0-5][0-9]$/,
CodeRegexPattern: /^[A-Z0-9-]{4,6}$/,
OTPCodeRegexPattern: /^[A-Z0-9]{6}$/,
PinCodeRegexPattern: /^[ A-Za-z0-9_.\/#=&+-]*$/,
INTText50CharRegexPattern: /^(?!.*--)[a-zA-Z0-9][^\\\/*$%^+=<>|\n\r\b\t]{0,50}$/,
WorkingHoursRegexPattern: /^(([0-1][0-9])|([2][0-3])):([0-5][0-9]),(([0-1][0-9])|([2][0-3])):([0-5][0-9])$/,
ListOfIntRegexPattern: /^$|(^\d+(,\d+)*$)/,
SecurityCodeRegexPattern: /^[0-9]{6}$/,
ACSOneCharRegexPattern: /^[a-zA-Z]{1,1}$/,
ACSDateTimeRegexPattern: /^((0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d ([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]))$/,
ACSPurchaseAmountRegexPattern: /^[a-zA-Z]{3,3} [0-9]{2,2}\.[0-9]{2,2}$/,
ACSText100CharRegexPattern: /^[ A-Za-z0-9_@./#&+-=|]{0,100}$/,
SortCodeRegexPattern: /^[0-9]{6}$/,
PageSizeRegexPattern: /^(100|[0-9]{0,2})$/,
YearAndMonthRegexPattern: /^[0-9]{4}[\-]((1[0-2])|(0?[1-9]))$/,
ENText25CharRegexPattern: /^|[a-zA-Z]+(\s{0,1}[a-zA-Z]){0,25}$/u,
LatitudeRegexPattern: /^(-?[1-8]?\d(?:\.\d{1,8})?|90(?:\.0{1,8})?)$/,
IntegerNumbersExcept0RegexPattern: /[1-9]{1}\d{0,3}/,
CreditCardExpiryDateRegexPattern: /^(0[1-9]|1[0-2])\/\d{2}$/,
AssetNameRegexPattern: /^(?!.--)[\p{L}\p{N}][^/$%^+=<>|\n\r\b\t]{1,100}$/u,
SharePriceRegexPattern: /^(?!0*\.?0{1,6}$)\d+(\.\d{1,6})?$/,
TradeTypeRegexPattern: /^(buy|sell)$/,
TypeAdminRegexPattern: /^[a-zA-Z ]{1,50}$/,
NameAdminRegexPattern: /^[A-Za-z ]{0,50}$/,
CurrencyRegexPattern: /^(?!Currency-Country$)[A-Z ]{0,50}$/,
CountryRegexPattern: /^(?!Default From Asset ID$).*/,
AssetCountryRegexPattern: /^[A-Z]{0,10}$/,
NoSharesRegexPattern: /^[1-9]\d{0,17}$/,
TickerRegexPattern: /^[A-Za-z0-9]{0,10}$/,
QuantityRegexPattern: /^[1-9]\d{0,8}$/,
PriceRegexPattern: /^(?!0*\.?0{1,15}$)\d+(\.\d{1,15})?$/,
IssuerRegexPattern: /^(?!.--)[\p{L}\p{N}][^/$%^+=<>|\n\r\b\t]{1,100}$/u,
TradeValueRegexPattern: /^\d+(\.\d{1,2})?$/,
CoinRegexPattern: /^(ggz|uggz)$/,
AssetIdRegexPattern: /^[0-9]+$/,
AumRegexPattern: /^\d+\.\d+[MB]$/,
ExpenseRatioRegexPattern: /^\d*\.?\d{1,2}%$/,
OneYrTrRegexPattern: /^-?\d+(\.\d+)?$/,
VestingAmountRegexPattern: /^-?\d+$/,
VestingPercentRegexPattern: /^(100(\.0{1,2})?|[1-9]?\d(\.\d{1,2})?)$/,
ProposalInfoRegexPattern: /^(https:\/\/github\.com\/[a-zA-Z0-9_-]+\/[a-zA-Z0-9_-]+\/releases\/download\/[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)$/,
UUIDPattern: /^[0-9(a-f|A-F)]{8}-[0-9(a-f|A-F)]{4}-4[0-9(a-f|A-F)]{3}-[89ab][0-9(a-f|A-F)]{3}-[0-9(a-f|A-F)]{12}$/,
CryptoQuantityPattern: /^(?!0(\.0{1,6})?$)(?!0\d)\d{1,7}(?:\.\d{1,6})?$/,
BlockchainAddress: /^[a-zA-Z0-9]{26,64}$/,
GeneralName: /^[a-zA-Z].{2,49}$/,
GGEZ1Balance: /^\d+(\.\d{1,2})?$/,
Percentage: /^(100(\.00?)?|(\d{1,2}(\.\d{1,16})?))$/,
IntegerNumber: /^\d+$/,
Pair: /^[A-Za-z0-9]{2,10}\/?[A-Za-z0-9]{2,10}$/,
WSURl: /^wss:\/\/([a-zA-Z0-9\-_]+\.)+[a-zA-Z]{2,6}(:[0-9]{1,5})?(\/[a-zA-Z0-9\-_\/]*)?$/,
DecimalNumber: /^\d+(\.\d{1,6})?$/,
GoogleAuthenticationCodePattern: /^[0-9]{6}$/,
TransactionHashRegexPattern: /^(?:0x[a-fA-F0-9]{64}|[a-fA-F0-9]{64}|[1-9A-HJ-NP-Za-km-z]{87,88}|[A-Za-z0-9+/_-]{43,88}=?)$/,
};
export { regexPatterns };