📄 stringhelper.cs
字号:
}
return flag;
}
private static string GetGbkX(string testTxt)
{
if (testTxt.CompareTo("吖") >= 0)
{
if (testTxt.CompareTo("八") < 0)
{
return "A";
}
if (testTxt.CompareTo("嚓") < 0)
{
return "B";
}
if (testTxt.CompareTo("咑") < 0)
{
return "C";
}
if (testTxt.CompareTo("妸") < 0)
{
return "D";
}
if (testTxt.CompareTo("发") < 0)
{
return "E";
}
if (testTxt.CompareTo("旮") < 0)
{
return "F";
}
if (testTxt.CompareTo("铪") < 0)
{
return "G";
}
if (testTxt.CompareTo("讥") < 0)
{
return "H";
}
if (testTxt.CompareTo("咔") < 0)
{
return "J";
}
if (testTxt.CompareTo("垃") < 0)
{
return "K";
}
if (testTxt.CompareTo("嘸") < 0)
{
return "L";
}
if (testTxt.CompareTo("拏") < 0)
{
return "M";
}
if (testTxt.CompareTo("噢") < 0)
{
return "N";
}
if (testTxt.CompareTo("妑") < 0)
{
return "O";
}
if (testTxt.CompareTo("七") < 0)
{
return "P";
}
if (testTxt.CompareTo("亽") < 0)
{
return "Q";
}
if (testTxt.CompareTo("仨") < 0)
{
return "R";
}
if (testTxt.CompareTo("他") < 0)
{
return "S";
}
if (testTxt.CompareTo("哇") < 0)
{
return "T";
}
if (testTxt.CompareTo("夕") < 0)
{
return "W";
}
if (testTxt.CompareTo("丫") < 0)
{
return "X";
}
if (testTxt.CompareTo("帀") < 0)
{
return "Y";
}
if (testTxt.CompareTo("咗") < 0)
{
return "Z";
}
}
return testTxt;
}
public static string GetInitial(string str)
{
StringBuilder builder = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
builder.Append(GetOneIndex(str.Substring(i, 1)));
}
return null;
}
private static string GetOneIndex(string testTxt)
{
if ((Convert.ToChar(testTxt) >= '\0') && (Convert.ToChar(testTxt) < 'Ā'))
{
return testTxt;
}
return GetGbkX(testTxt);
}
public static bool IsIncludeChinese(string inputData)
{
Regex regex = new Regex("[一-龥]");
return regex.Match(inputData).Success;
}
public static string MD5(string input)
{
using (MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider())
{
return BitConverter.ToString(provider.ComputeHash(Encoding.UTF8.GetBytes(input))).Replace("-", "").ToLower();
}
}
public static int MD5D(string strText)
{
using (MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider())
{
byte[] bytes = Encoding.Default.GetBytes(strText);
bytes = provider.ComputeHash(bytes);
StringBuilder builder = new StringBuilder();
foreach (byte num in bytes)
{
builder.Append(num.ToString("D").ToLower());
}
string input = builder.ToString();
if (input.Length >= 9)
{
input = "9" + input.Substring(1, 8);
}
else
{
input = "9" + input;
}
provider.Clear();
return DataConverter.CLng(input);
}
}
public static string MD5gb2312(string input)
{
using (MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider())
{
return BitConverter.ToString(provider.ComputeHash(Encoding.GetEncoding("gb2312").GetBytes(input))).Replace("-", "").ToLower();
}
}
public static string RemoveXss(string input)
{
string str;
input = Regex.Replace(input, @"(&#*\w+)[\x00-\x20]+;", "$1;");
input = Regex.Replace(input, "(&#x*[0-9A-F]+);*", "$1;", RegexOptions.IgnoreCase);
input = Regex.Replace(input, "&(amp|lt|gt|nbsp|quot);", "&$1;");
input = HttpUtility.HtmlDecode(input);
input = Regex.Replace(input, @"[\x00-\x08\x0b-\x0c\x0e-\x19]", "");
input = Regex.Replace(input, "(<[^>]+[\\x00-\\x20\"'/])(on|xmlns)[^>]*>", "$1>", RegexOptions.IgnoreCase);
input = Regex.Replace(input, "([a-z]*)[\\x00-\\x20]*=[\\x00-\\x20]*([`'\"]*)[\\x00-\\x20]*j[\\x00-\\x20]*a[\\x00-\\x20]*v[\\x00-\\x20]*a[\\x00-\\x20]*s[\\x00-\\x20]*c[\\x00-\\x20]*r[\\x00-\\x20]*i[\\x00-\\x20]*p[\\x00-\\x20]*t[\\x00-\\x20]*:", "$1=$2nojavascript...", RegexOptions.IgnoreCase);
input = Regex.Replace(input, "([a-z]*)[\\x00-\\x20]*=[\\x00-\\x20]*([`'\"]*)[\\x00-\\x20]*v[\\x00-\\x20]*b[\\x00-\\x20]*s[\\x00-\\x20]*c[\\x00-\\x20]*r[\\x00-\\x20]*i[\\x00-\\x20]*p[\\x00-\\x20]*t[\\x00-\\x20]*:", "$1=$2novbscript...", RegexOptions.IgnoreCase);
input = Regex.Replace(input, @"(<[^>]+style[\x00-\x20]*=[\x00-\x20]*.*)/\*.*\*/([^>]*>)", "$1$2", RegexOptions.IgnoreCase);
input = Regex.Replace(input, "(<[^>]+)style[\\x00-\\x20]*=[\\x00-\\x20]*([`'\"]*).*expression[\\x00-\\x20]*\\([^>]*>", "$1>", RegexOptions.IgnoreCase);
input = Regex.Replace(input, "(<[^>]+)style[\\x00-\\x20]*=[\\x00-\\x20]*([`'\"]*).*behaviour[\\x00-\\x20]*\\([^>]*>", "$1>", RegexOptions.IgnoreCase);
input = Regex.Replace(input, "(<[^>]+)style[\\x00-\\x20]*=[\\x00-\\x20]*([`'\"]*).*s[\\x00-\\x20]*c[\\x00-\\x20]*r[\\x00-\\x20]*i[\\x00-\\x20]*p[\\x00-\\x20]*t[\\x00-\\x20]*:*[^>]*>", "$1>", RegexOptions.IgnoreCase);
input = Regex.Replace(input, @"</*\w+:\w[^>]*>", "");
do
{
str = input;
input = Regex.Replace(input, "</*(applet|meta|xml|blink|link|style|script|embed|object|iframe|frame|frameset|ilayer|layer|bgsound|title|base)[^>]*>", "", RegexOptions.IgnoreCase);
}
while (str != input);
return input;
}
public static string ReplaceIgnoreCase(string input, string oldValue, string newValue)
{
return Strings.Replace(input, oldValue, newValue, 1, -1, CompareMethod.Text);
}
public static string SHA1(string input)
{
using (SHA1CryptoServiceProvider provider = new SHA1CryptoServiceProvider())
{
return BitConverter.ToString(provider.ComputeHash(Encoding.UTF8.GetBytes(input))).Replace("-", "").ToLower();
}
}
public static string StripTags(string input)
{
Regex regex = new Regex("<([^<]|\n)+?>");
return regex.Replace(input, "");
}
public static string SubString(string demand, int length, string substitute)
{
if (Encoding.Default.GetBytes(demand).Length <= length)
{
return demand;
}
ASCIIEncoding encoding = new ASCIIEncoding();
length -= Encoding.Default.GetBytes(substitute).Length;
int num = 0;
StringBuilder builder = new StringBuilder();
byte[] bytes = encoding.GetBytes(demand);
for (int i = 0; i < bytes.Length; i++)
{
if (bytes[i] == 0x3f)
{
num += 2;
}
else
{
num++;
}
if (num > length)
{
break;
}
builder.Append(demand.Substring(i, 1));
}
builder.Append(substitute);
return builder.ToString();
}
public static int SubStringLength(string demand)
{
if (string.IsNullOrEmpty(demand))
{
return 0;
}
ASCIIEncoding encoding = new ASCIIEncoding();
int num = 0;
byte[] bytes = encoding.GetBytes(demand);
for (int i = 0; i < bytes.Length; i++)
{
if (bytes[i] == 0x3f)
{
num += 2;
}
else
{
num++;
}
}
return num;
}
public static string Trim(string returnStr)
{
if (!string.IsNullOrEmpty(returnStr))
{
return returnStr.Trim();
}
return string.Empty;
}
public static bool ValidateMD5(string password, string md5Value)
{
if (string.Compare(password, md5Value) != 0)
{
return (string.Compare(password, md5Value.Substring(8, 0x10)) == 0);
}
return true;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -