Utils isAddress

This commit is contained in:
sc0Vu 2017-12-27 16:32:23 +08:00
parent c0e90debc8
commit d299725cdd
2 changed files with 48 additions and 0 deletions

View File

@ -136,6 +136,26 @@ class Utils
return $value; return $value;
} }
/**
* isAddress
* To do: check address checksum
*
* @param string
* @return bool
*/
public static function isAddress($value)
{
if (!is_string($value)) {
throw new InvalidArgumentException('The value to isAddress function must be string.');
}
if (preg_match('/^(0x|0X)?[a-fA-F0-9]{40}$/', $value) == 1) {
return true;
} else {
// validate address checksum
}
return false;
}
/** /**
* sha3 * sha3
* keccak256 * keccak256

View File

@ -112,6 +112,34 @@ class UtilsTest extends TestCase
$this->assertEquals($isPrefixed, true); $this->assertEquals($isPrefixed, true);
} }
/**
* testIsAddress
*
* @return void
*/
public function testIsAddress()
{
$isAddress = Utils::isAddress('ca35b7d915458ef540ade6068dfe2f44e8fa733c');
$this->assertEquals($isAddress, true);
$isAddress = Utils::isAddress('0xca35b7d915458ef540ade6068dfe2f44e8fa733c');
$this->assertEquals($isAddress, true);
$isAddress = Utils::isAddress('0Xca35b7d915458ef540ade6068dfe2f44e8fa733c');
$this->assertEquals($isAddress, true);
$isAddress = Utils::isAddress('0XCA35B7D915458EF540ADE6068DFE2F44E8FA733C');
$this->assertEquals($isAddress, true);
$isAddress = Utils::isAddress('0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C');
$this->assertEquals($isAddress, true);
}
/** /**
* testStripZero * testStripZero
* *