import 'package:intl/intl.dart';

class StringUtils {
  static bool emailValidation(String email) {
    return RegExp(
            r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$')
        .hasMatch(email);
  }

  static bool phoneValidation(String phone) {
    return RegExp(r'^(\+62|62|0)8[1-9][0-9]{6,10}$').hasMatch(phone);
  }

  static bool passwordValidation(String password) {
    return RegExp(r'^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*?[\W_])(?=.{8,})')
        .hasMatch(password);
  }

  static String formatTime(DateTime? dateTime) {
    if (dateTime != null) {
      DateFormat formatter = DateFormat('HH:mm:ss');
      return formatter.format(dateTime);
    }
    return '--:--:--';
  }
}
