public static bool IsUriClean(string s) { string sd = s.Normalize(NormalizationForm.FormD); for (int i = 0; i < sd.Length; i++) { if (!CharIsAllowed(sd[i])) return false; } if (sd[sd.Length - 1] == '.') return false; return true; }