Regex test if valid asset name

The regular expression /^[B-Z][A-Z]{3,11}$/ tests whether a string is a valid asset name.

To allow for lowercase characters, use /^[b-zB-Z][a-zA-Z]{3,11}$/

/\b[B-Z][A-Z]{3,11}\b/ finds the first valid uppercase asset name within the string.

Add g to find all asset names; /\b[B-Z][A-Z]{3,11}\b/g

You can test a regex on [][1].

For example, to find all assets within a string with PHP, you may use this code:

$text = 'My favorite XCP assets are FLDC, BITCRYSTALS and YACHTMONEY!';
preg_match_all('/\b[B-Z][A-Z]{3,11}\b/', $text, $matches);
for ($i = 0; $i < count($matches[0]); ++$i) {
    print $matches[0][$i].' ';

Note: A valid asset name needs to meet four conditons

  • Only characters A-Z
  • First character not A
  • Minimum length is 4
  • Maximum length is 12

Earlier it was possible to register longer names. There are a few 13 and 14 character names, but none of these are in active use.

Another PHP example.

To test if a string is a valid asset name, use this code:

$asset = 'MYASSET';
if (preg_match('/^[B-Z][A-Z]{3,11}$/', $asset)) {
	echo "$asset is a valid asset name"; 
} else {
	echo "$asset is NOT a valid asset name"; 

Javascript tests for both alphabetic and numeric asset names: