Thanks xblue this "([[:alnum:]]{6,16}$)" worked a treat however i still dont fully comprehend it.
the ^ says u must start with a number or letter and the $ says u must end in a number or letter, by doing this it also eliminates ALL chars except alnum which is perfect and what was wanted, but couldnt understand why "([[:alnum:]]{6,16})" still allowed any char inbetween, thats what confuses me.
mcgruff i thought i would give that ctype_alpha($_POST['name']) ago with strlen as xblue mentioned. After some testing on single execution there around the same speed but on a loop of 100 preg_match is slightly faster and less lines of coding to 🙂 thanks anyway
Anyway it works, thanks again folks.