wildcard problems with numbers

Can someone please tell me what is wrong with this shellscript? I need to use wildcards because my numbers will be random. My number will be an ip address when I get the syntax right. I would think when I run this I would get the first case and I would see this output.

VAR1 is 123
----------
Users cannot control this device.
VAR1 is 123

Unfortunately I see this output.

VAR1 is 123
----------
I like cookies
VAR1 is 123
#!/bin/bash
VAR1=123
echo VAR1 is $VAR1
echo ----------
if [ $VAR1 = [0-9][0-9][0-9] ]; then
#if [ $VAR1 = 131.247.2.211 ]; then
    echo $"Users cannot control this device." >&2
    echo VAR1 is $VAR1
    exit 1
else
    echo $"I like cookies" >&2
    echo VAR1 is $VAR1
fi

The point is testing with a equality does not work if you expect variables ( 1 cannot be equal to 8...)...
But seeing what you are up to, your test would be is VAR1 a numeric value? And that can be done by:

if [ "$VAR1"  -le 256 ]
then

And I tested, it works...

/home/vbe $ var_script   
VAR1 is 123
----------
Users cannot control this device.
VAR1 is 123

You need [[ to use a wildcard pattern:

if [[ $VAR1 == [0-9][0-9][0-9] ]]; then