Thanks James, I tried a regular expression comparison first, but it was eluding me. I'm new to PHP (trying to convert form ASP) and part of this is me trying to convert my ASP/VBSCRIPT to PHP. ;-) I actually have a FOR loop evaluated when the conditions of the IF statement are met, and I suspect that is messing things up. Here's my entire code and I've used your expression comparison instead but it still fails to find the "-" unless I split things up and check either ONLY for the '-' at the beginning or the end, but not both in the same line:
function StringCheck($sString) { if (preg_match("/^-|-$/s", $sString)) { for ( $counter=0; $counter < strlen($sString); $counter++ ) { $nChar = ord(strtolower(substr($sString, $counter, 1))); if (($nChar > 47 And $nChar < 58) or ($nChar > 96 And $nChar < 123) or ($nChar == 45)) { $result = TRUE; } else { $result = FALSE; break; } } } else { $result = FALSE; } return $result; } //End Function StringCheck Maybe you see something I don't. I can't get over the fact that if I check for just the front, or the end, it works, but if I check for both the front and end of the string in the same line with the OR, it fails. :-\ Thanks in advance for any thing you might notice. ....Brad "Yz James" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > Hi Brad, > > This worked for me: > > <? > > if ((substr($sString, 0, (strlen($sString)-1) == "-")) || (substr($sString, > 0, 1) == "-")) { > echo "you can't have a dash at the beginning or end of your string."; > } > > ?> > > ...... but I'd tend to go for a regex as a solution to what you're after, > which involves less code: > > <? > > if (preg_match("/^-|-$/s", $string)) { > echo "You cannot have a \"-\" character at the beginning or end of your > string."; > } else { > echo "Whatever...."; > } > > ?> > > Just my thoughts... > > James > > "Brad Melendy" <[EMAIL PROTECTED]> wrote in message > [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > > Hello, > > Ok, this works: > > > > if (substr($sString,(strlen($sString)-1)!="-")) { > > print "You can't have a dash at the end of your string."; > > } > > > > and this works: > > if (substr($sString,0,1)!="-") { > > print "You can't have a dash at the beginning of your string."; > > } > > > > But, this doesn't work for any case: > > if ((substr($sString,(strlen($sString)-1)!="-")) or > > (substr($sString,0,1)!="-")) { > > print "you can't have a dash at the beginning or end of your string."; > > } > > > > What could be wrong? I've used a logical OR operator in the middle of an > IF > > statement like this before, but for some reason, this just isn't working. > > Anyone got any ideas? I suppose I can just evaluate this with two > different > > IF statements, but it seems like I shoud be able to do it in one and > reduce > > duplicate code. Thanks very much in advance. > > > > .....Brad > > > > > > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]