marco.pms.mobileapp/lib/helpers/utils/my_string_utils.dart
Vaibhav Surve a5dd5e19fc Add Windows runner implementation for Flutter application
- Created CMakeLists.txt for Flutter and runner components.
- Implemented resource script (Runner.rc) for application metadata.
- Developed main entry point (main.cpp) for the Windows application.
- Added FlutterWindow class to manage the Flutter view within a Win32 window.
- Implemented utility functions for console management and command line argument parsing.
- Established Win32Window class for high DPI-aware window handling.
- Included application icon and manifest for proper Windows integration.
- Set up build configurations and dependencies for the Flutter application on Windows.
2025-04-23 09:55:31 +05:30

215 lines
4.9 KiB
Dart

import 'dart:developer';
class MyStringUtils {
static bool isFirstCapital(String string) {
if (string.codeUnitAt(0) >= 65 && string.codeUnitAt(0) <= 90) {
return true;
}
return false;
}
static bool isFirstLetter(String string) {
if (string.codeUnitAt(0) >= 0 && string.codeUnitAt(0) <= 9) {
return true;
}
return false;
}
static bool isAlphabetIncluded(String string) {
string = string.toUpperCase();
for (int i = 0; i < string.length; i++) {
if (string.codeUnitAt(i) >= 65 && string.codeUnitAt(i) <= 90) {
return true;
}
}
return false;
}
static bool isDigitIncluded(String string) {
for (int i = 0; i < string.length; i++) {
if (string.codeUnitAt(i) >= 0 && string.codeUnitAt(i) <= 9) {
return true;
}
}
return false;
}
static bool isSpecialCharacterIncluded(String string) {
String ch = "~`!@#\$%^&*.?_";
for (int i = 0; i < string.length; i++) {
if (ch.contains(string[i])) {
return true;
}
}
return false;
}
static bool isIncludedCharactersPresent(
String string, List<String>? includeCharacters) {
if (includeCharacters == null) {
return false;
}
for (int i = 0; i < string.length; i++) {
if (includeCharacters.contains(string[i])) {
return true;
}
}
return false;
}
static bool isIgnoreCharactersPresent(
String string, List<String>? ignoreCharacters) {
if (ignoreCharacters == null) {
return false;
}
for (int i = 0; i < string.length; i++) {
if (ignoreCharacters.contains(string[i])) {
return true;
}
}
return false;
}
static bool checkMaxAlphabet(String string, int maxAlphabet) {
int counter = 0;
string = string.toUpperCase();
for (int i = 0; i < string.length; i++) {
if (string.codeUnitAt(i) >= 65 && string.codeUnitAt(i) <= 90) {
counter++;
}
}
if (counter <= maxAlphabet) {
return true;
}
return false;
}
static bool checkMaxDigit(String string, int maxDigit) {
int counter = 0;
for (int i = 0; i < string.length; i++) {
if (string.codeUnitAt(i) >= 0 && string.codeUnitAt(i) <= 9) {
counter++;
}
}
if (counter <= maxDigit) {
return true;
}
return false;
}
static bool checkMinAlphabet(String string, int minAlphabet) {
int counter = 0;
string = string.toUpperCase();
for (int i = 0; i < string.length; i++) {
if (string.codeUnitAt(i) >= 65 && string.codeUnitAt(i) <= 90) {
counter++;
}
}
if (counter >= minAlphabet) {
return true;
}
return false;
}
static bool checkMinDigit(String string, int minDigit) {
int counter = 0;
for (int i = 0; i < string.length; i++) {
if (string.codeUnitAt(i) >= 0 && string.codeUnitAt(i) <= 9) {
counter++;
}
}
if (counter >= minDigit) {
return true;
}
return false;
}
static bool validateString(
String string, {
int minLength = 8,
int maxLength = 20,
bool firstCapital = false,
bool firstDigit = false,
bool includeDigit = false,
bool includeAlphabet = false,
bool includeSpecialCharacter = false,
List<String>? includeCharacters,
List<String>? ignoreCharacters,
int minAlphabet = 5,
int maxAlphabet = 20,
int minDigit = 0,
int maxDigit = 20,
}) {
if (string.length < minLength) {
return false;
}
if (string.length > maxLength) {
return false;
}
if (firstCapital && !isFirstCapital(string)) {
return false;
}
if (firstDigit && !isFirstLetter(string)) {
return false;
}
if (includeAlphabet && !isAlphabetIncluded(string)) {
return false;
}
if (includeDigit && !isDigitIncluded(string)) {
return false;
}
if (includeSpecialCharacter && !isSpecialCharacterIncluded(string)) {
return false;
}
if (!isIncludedCharactersPresent(string, includeCharacters)) {
return false;
}
if (isIgnoreCharactersPresent(string, ignoreCharacters)) {
return false;
}
if (!checkMaxAlphabet(string, maxAlphabet)) {
return false;
}
if (!checkMinAlphabet(string, minAlphabet)) {
return false;
}
if (!checkMaxDigit(string, maxAlphabet)) {
return false;
}
if (!checkMinDigit(string, minAlphabet)) {
return false;
}
return true;
}
static bool isEmail(String email) {
Pattern pattern =
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]{1,}))$';
RegExp regex = RegExp(pattern as String);
log(regex.hasMatch(email).toString());
return regex.hasMatch(email);
}
static bool validateStringRange(String text,
[int minLength = 8, int maxLength = 20]) {
return text.length >= minLength && text.length <= maxLength;
}
}