eregi( "^wm(li|si|wi)[0-9]{6}[a-z]?$", $wm_id) That should do it... tear it apart and understand it :)
Part of the problem was in the alternation in the li|si|wi Part of the problem was that the + would accept sisi or wisilisiwi With {min,max}... if they are the same number, you only need one Also, ? is a substitute for {0,1} (means the same thing) See it here: http://www.lcounty.com/is/website/test_center/test_eregi.php --------------------- John Asendorf - [EMAIL PROTECTED] Web Applications Developer http://www.lcounty.com - NEW FEATURES ADDED DAILY! Licking County, Ohio, USA 740-349-3631 Nullum magnum ingenium sine mixtura dementiae fuit > -----Original Message----- > From: A. Mikkelsen [mailto:[EMAIL PROTECTED]] > Sent: Thursday, December 05, 2002 8:39 AM > To: [EMAIL PROTECTED] > Subject: [PHP-WIN] eregi problem > > > Hey > > I'm trying to validate these strings > > wmli001234 wmli001234a > > using this > > if( eregi( "^" . > "wm" . //first 2 letters > "((li)*(si)*(wi)*)+" . //next 2 letters > shal be ether > LI / SI / WI > "[0-9]{6,6}" . //next 6 numbers > "[a-z]{0,1}" . //if extra > letter (only 1 > letter) > "$", $wm_id)) > return TRUE; > else return FALSE; > > > can anyone help me ????? > > > Anders > > > > -- > PHP Windows Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php