mirror of
https://github.com/hanzo-labs/arcadia.git
synced 2026-10-30 18:55:41 +00:00
74 lines
2.4 KiB
JavaScript
74 lines
2.4 KiB
JavaScript
'use strict';
|
|
var validator = function() {}
|
|
|
|
validator.isValidAddress = function(address) {
|
|
if (address && address == "0x0000000000000000000000000000000000000000") return false;
|
|
if (address)
|
|
return ethFuncs.validateEtherAddress(address);
|
|
return false;
|
|
}
|
|
validator.isChecksumAddress = function(address) {
|
|
return ethFuncs.isChecksumAddress(address);
|
|
}
|
|
validator.isValidENSorEtherAddress = function(address) {
|
|
return (validator.isValidAddress(address) || validator.isValidENSAddress(address));
|
|
}
|
|
validator.isValidENSName = function(str) {
|
|
try {
|
|
return (str.length > 6 && ens.normalise(str) != '' && str.substring(0, 2) != '0x');
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
validator.isValidENSAddress = function(address) {
|
|
address = ens.normalise(address);
|
|
var tld = address.substr(address.lastIndexOf('.') + 1);
|
|
var _ens = new ens();
|
|
var validTLDs = {
|
|
eth: true,
|
|
test: true,
|
|
reverse: true
|
|
}
|
|
if (validTLDs[tld]) return true;
|
|
return false;
|
|
}
|
|
validator.isValidBTCAddress = function(address) {
|
|
return ethUtil.WAValidator.validate(address, 'BTC');
|
|
}
|
|
validator.isPositiveNumber = function(value) {
|
|
return globalFuncs.isNumeric(value) && parseFloat(value) >= 0;
|
|
}
|
|
validator.isValidHex = function(hex) {
|
|
return ethFuncs.validateHexString(hex);
|
|
}
|
|
validator.isValidPrivKey = function(privkeyLen) {
|
|
return privkeyLen == 64 || privkeyLen == 128 || privkeyLen == 132;
|
|
}
|
|
validator.isValidMnemonic = function(mnemonic) {
|
|
return hd.bip39.validateMnemonic(mnemonic);
|
|
}
|
|
validator.isPasswordLenValid = function(pass, len) {
|
|
if (pass === 'undefined' || pass == null) return false;
|
|
return pass.length > len;
|
|
}
|
|
validator.isAlphaNumeric = function(value) {
|
|
return globalFuncs.isAlphaNumeric(value);
|
|
}
|
|
validator.isAlphaNumericSpace = function(value) {
|
|
if (!value) return false;
|
|
return globalFuncs.isAlphaNumeric(value.replace(/ /g, ''));
|
|
}
|
|
validator.isJSON = function(json) {
|
|
return ethUtil.solidityUtils.isJson(json);
|
|
}
|
|
validator.isValidURL = function(str) {
|
|
var pattern = new RegExp('^(https?:\\/\\/)' + // protocol
|
|
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|' + // domain name
|
|
'((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address
|
|
'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path
|
|
'(\\?[;&a-z\\d%_.~+=-]*)?' + // query string
|
|
'(\\#[-a-z\\d_]*)?$', 'i'); // fragment locator
|
|
return pattern.test(str);
|
|
}
|
|
module.exports = validator;
|