Jump to content

[SOLVED] verifying binary, octal, decimal, or hexidecimal


Recommended Posts

Since this in the regex forum, I assume that's what you're looking for.  Have you tried anything already: how familiar with regular expressions are you, do you know how to match specific characters?

 

Offtopic

The is_numeric() function would accept a wider range of values than just decimal (0-9). For example, exponential parts are allowed for decimal numbers (e.g. "123.45e6" is considered numeric) and it will allow octal and hexadecimal numbers as well (e.g. 0123 octal, 83 decimal and 0x53 hexadecimal are all the same number).

is_numeric does what i need of for a decimal, decimals can be 101 along with binary, so i cant say that 101 is not decimal...

 

i assumed regex would be what i need to verify something is a valid octal, hexi, or binary.... i do not understand regex statements

Technically every number on a computer is stored in binary, so you won't be able to do it mathematically.

 

When you look at it as a string though, you can do something like:

 

if(preg_match('/^[0-1]+(?:\.[0-1]+)?$/', $number)) {

    //binary

}

 

The patterns for base 8:

 

/^[0-7]+(?:\.[0-7]+)?$/

 

 

Hex is a little more complicated since it has letters too:

 

/^[0-9|A-F]+(?:\.[0-9|A-F]+)?$/

 

thanks

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.