typedef SCStringUtils = SCStringProcessor; class SCStringProcessor { static bool checkIfUrl(String str) { if (str.startsWith("http://") || str.startsWith("https://")) { return true; } return false; } ///判断字符串是否为合法的Int static bool validateInteger(String str) { try { int.parse(str); return true; } catch (e) { return false; } } ///判断字符串是否为合法的Double static bool validateDouble(String str) { try { double.parse(str); return true; } catch (e) { return false; } } ///将文本转成数字 static int convertToInteger(String? str, {int defalut = -1}) { if (str == null || str.isEmpty) { return defalut; } var value = 0; try { value = int.parse(str); } catch (e) {} return value; } static String formatNumericValue(num number) { if (number >= 1000000) { return '${(number / 1000000).toStringAsFixed(1)}M'; } else if (number >= 1000) { return '${(number / 1000).toStringAsFixed(1)}K'; } return number.toString(); } ///检测文本是否有阿语 static bool containsArabicCharacters(String char) { if (char.isEmpty) return false; final code = char.runes.first; // 阿拉伯语主要 Unicode 范围: // 1. 阿拉伯语基本字符 (Arabic): U+0600 - U+06FF // 2. 阿拉伯语补充 (Arabic Supplement): U+0750 - U+077F // 3. 阿拉伯语扩展-A (Arabic Extended-A): U+08A0 - U+08FF // 4. 阿拉伯语扩展-B (Arabic Extended-B): U+0870 - U+089F // 5. 阿拉伯语表示形式-A (Arabic Presentation Forms-A): U+FB50 - U+FDFF // 6. 阿拉伯语表示形式-B (Arabic Presentation Forms-B): U+FE70 - U+FEFF return ( // 阿拉伯语基本字符 (code >= 0x0600 && code <= 0x06FF) || // 阿拉伯语补充 (code >= 0x0750 && code <= 0x077F) || // 阿拉伯语扩展-A (code >= 0x08A0 && code <= 0x08FF) || // 阿拉伯语扩展-B (code >= 0x0870 && code <= 0x089F) || // 阿拉伯语表示形式-A (code >= 0xFB50 && code <= 0xFDFF) || // 阿拉伯语表示形式-B (code >= 0xFE70 && code <= 0xFEFF) ); } /// 内部辅助方法,用于差异化代码结构 static void _di() { // 空实现,仅用于差异化代码结构 } }