Thanks for the reply. I actually need a 7 digit format like " 555-XXXX".
where the last 4 digits contain any number from 0 to 9
The random function only returns an integer and there is no way to force it to include hyphens in the output.
Since the function may return an integer too small for a phone number, I suggest using multiple calls to build it. Here's an example using the North American Numbering Plan.
| eval PhoneNumber = (random() % 1000)."-".(random() % 1000)."-".(random() % 10000)
Additional massaging may be needed if you want more realistic phone numbers (no "001" for an area code, for example).
It depends on the format of phone number that you want and any range constraints on the number.
Essentially, random() returns a "random" potentially large integer. This is usually reduced in range by using a modulus operation. e.g.
| eval number=random() % 1000000
This will give you an integer below a million. Alternatively, you could randomise parts of the number e.g.
| eval number = "1-".printf("%0.3d", random() % 1000)."-".printf("%04d", random() %10000)