studentofstone Posted January 10, 2011 Share Posted January 10, 2011 Hi I'm trying to strip all punctuation and validate a phone number after entering a number I get. the other question I have is how to get the validation part to only respond if there is no match I tried if( !preg_match..... but it didn't work Compilation failed: range out of order in character class at offset 8 on this line $phone = preg_replace( "/[$punctuation]/", '', $_REQUEST[ 'number' ] ); here is the code around it. $punctuation = preg_quote( "().- "); $phone = preg_replace( "/[$punctuation]/", '', $_REQUEST[ 'number' ] ); $valid = "/[1?][2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}/"; if ( preg_match( $valid, $number ) == 1 ) { echo( "${_REQUEST[ 'number' ]} is valid<br />" ); } Link to comment https://forums.phpfreaks.com/topic/224014-phone-number/ Share on other sites More sharing options...
mikecampbell Posted January 11, 2011 Share Posted January 11, 2011 Try this. $phone = preg_replace( "/[\(\)\.\- ]/", '', $_REQUEST[ 'number' ] ); $valid = "/^[1?][2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}$/"; if ( preg_match( $valid, $phone ) == 0 ) { echo( "${_REQUEST[ 'number' ]} is NOT valid<br />" ); } Link to comment https://forums.phpfreaks.com/topic/224014-phone-number/#findComment-1157676 Share on other sites More sharing options...
studentofstone Posted January 12, 2011 Author Share Posted January 12, 2011 Thanks Link to comment https://forums.phpfreaks.com/topic/224014-phone-number/#findComment-1158197 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.