HTML5Pattern.php 1.9 KB

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace MGModule\DNSManager2\mgLibs\custom\helpers;
  3. class HTML5Pattern {
  4. public static function getPatternsArray() {
  5. $patterns = array(
  6. 'ipv4' => '^((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}$',
  7. 'ipv6' => '^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$',
  8. 'simple_domain' => '^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$',
  9. 'alpha_numeric' => '[a-zA-Z0-9]+',
  10. 'hostname' => "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$", //rfc1123
  11. 'hostname952' => "^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$", //rfc 952
  12. 'credid_card_number' => '[0-9]{13,16}',
  13. 'simple_filename' => '^[\w]+$',
  14. 'cpanel_dir' => '^[^\\\?\%\*\:\|\"\>\<]*',
  15. 'no_white_chars' => '[^\s]*',
  16. 'simple_domain_tld' => '^([a-zA-Z0-9]([a-zA-Z0-9\-\.]{0,61}[a-zA-Z0-9])?)+$',
  17. 'no_white_chars_at_beginning' => '^[^\s].*$',
  18. );
  19. $patterns['ip'] = '('.$patterns['ipv4'].'|'.$patterns['ipv6'].')';
  20. foreach($patterns as &$pattern) {
  21. $pattern = str_replace("\\\"", "\\x22", $pattern);
  22. }
  23. return $patterns;
  24. }
  25. }