一个通用的php正则表达式匹配或检测或提取特定字符类
来源:互联网 发布:金融大数据分析师 编辑:程序博客网 时间:2024/04/29 12:40
-
-
-
-
-
-
-
-
- ////////////////////////////////////////////////////
- class MatchAll {
-
-
-
-
-
-
-
-
- public static function IP_match($target_str, $isFind=false, $isTotal=false) {
-
- if ($isTotal == true) {
- $pattern = "/^(/d{1,3}/.){3}/d{1,3}$/";
- }else{
- $pattern = "/(/d{1,3}/.){3}/d{1,3}/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
-
-
-
-
-
-
-
-
- public static function IDCard_match($target_str, $isFind=false, $isTotal=false){
-
- if ($isTotal == true){
- $pattern = "/^(/d{18}|/d{17}X|/d{15})$/";
- }else{
- $pattern = "/(/d{18}|/d{17}X|/d{15})/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
-
-
-
-
-
-
-
-
- public static function phone_match($target_str, $isFind=false, $isTotal=false) {
-
- if ($isTotal == true) {
- $pattern = "/^((/(?/d{3,4}/))?|(/d{3,4}-)?)/d{7,8}$/";
- }else{
- $pattern = "/((/(?/d{3,4}/))?|(/d{3,4}-)?)/d{7,8}/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
-
-
-
-
-
-
-
-
- public static function postalcode_match($target_str, $isFind=false, $isTotal=false) {
-
- if ($isTotal == true) {
- $pattern = "/^/d{6}$/";
- }else{
- $pattern = "//d{6}/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
-
-
-
-
-
-
-
- public static function neturl_match ($target_str, $isFind=false, $isTotal=false) {
-
- if ($isTotal == true) {
- $pattern = "/^(http/:////)?[a-zA-Z0-9]+(/.[a-zA-Z0-9]+)*.+$/";
- }else{
- $pattern = "/(http/:////)?[a-zA-Z0-9]+(/.[a-zA-Z0-9]+)*/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
-
-
-
-
-
-
-
- public static function email_match ($target_str, $isFind=false, $isTotal=false){
-
- if ($isTotal == true){
- $pattern = "/^[_a-zA-Z0-9-]+(/.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9_-]+(/.[a-zA-Z0-9_-]+)*$/";
- }else{
- $pattern = "/[_a-zA-Z0-9-]+(/.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9_-]+(/.[a-zA-Z0-9_-]+)*/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
-
-
-
-
-
-
-
- public static function money_match($target_str, $isFind=false, $isTotal=false) {
-
- if ($isTotal == true) {
- $pattern = "/^[0-9]{1,3}(,[0-9]{3})*(/.[0-9]+)?$/";
- }else{
- $pattern = "/[0-9]{1,3}(,[0-9]{3})*(/.[0-9]+)?/";
- }
- return self::get_match_result($target_str, $pattern, $isFind);
- }
-
-
-
-
-
-
-
-
- public function get_match_result($target_str, $pattern, $isFind) {
-
- if ($isFind == true) {
- preg_match($pattern, $target_str, $result);
- }else{
- $result = preg_match($pattern, $target_str);
- }
- return $result;
- }
-
-
-
-
- public function all_match($target_str) {
- $pattern = "/select(.+)from(/s[a-zA-Z0-9])/i";
- preg_match($pattern, $target_str, $result);
- $fields = split(",", $result[1]);
- print $result[2];
- print "";
- return $fields;
- }
- }