- var_dump: documentation ( source)
- is_numeric: documentation ( source)
- preg_match: documentation ( source)
- array_shift: documentation ( source)
<?php
function validateSenderName ($check) {
$sender = array_shift($check);
echo "Is $sender numeric?\n";
var_dump(is_numeric($sender));
if(is_numeric($sender)) {
$valid = preg_match('/[0-9]{7,15}/', $sender);
} else {
$valid = preg_match('/[0-9a-z\-_\.&#\!]{3-11}/i', $sender);
}
return $valid;
}
//should all return true:
var_dump(validateSenderName(['foo' => '0123456789012345'])); // 15 numbers
var_dump(validateSenderName(['foo' => 'ABCDEFGHIJK'])); // 11 characters
var_dump(validateSenderName(['foo' => '01234567'])); //7 numbers
var_dump(validateSenderName(['foo' => 'ABC'])); //3 characters
var_dump(validateSenderName(['foo' => '1ABC'])); //4 characters
echo "--\n";
//should all return false:
var_dump(validateSenderName(['foo' => 'ABCDEFGHIJKL'])); //12 chracters
var_dump(validateSenderName(['foo' => '012345'])); //5 numbers
var_dump(validateSenderName(['foo' => 'AB'])); //2 chracters
var_dump(validateSenderName(['foo' => '01234567890123456'])); //16 numbers