在日常的工作中積累了大量的代碼,這些代碼能幫我們快速的完成開發(fā)工作.
這就是程序員代碼積累,你可以將這些代碼Ctrl + C 然后 Ctrl + V 便可以完成開發(fā)工作,效率是不是可以上去呢.?
我在這里拋塊磚頭,希望大家也在園子里多發(fā)一些自己積累的代碼,起碼方便各位同仁在工作學(xué)習(xí)的時(shí)候方便些
哈哈,如果覺得有用的話就頂頂哈~~~
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.Web.Security;
using System.Security.Cryptography;
using System.Text.RegularExpressions;
using Com.PiZiZai.FunctionControl.PiZiZaiData;
namespace Com.PiZiZai.FunctionControl.PiZiZaiString
{
/// <summary>
/// 字符串操作靜態(tài)類
/// </summary>
public static class StringOperate
{
#region 用正則表達(dá)式對(duì)字符串進(jìn)行驗(yàn)證
/// <summary>
/// 用正則表達(dá)式對(duì)字符串進(jìn)行驗(yàn)證
/// </summary>
/// <param name="str">被驗(yàn)證的字符串</param>
/// <param name="i">序號(hào):1,正整數(shù)和0;2,非負(fù)數(shù);3,0到99之間的整數(shù);4,中文字符;5,密碼至少6個(gè)字符,可使用字母、數(shù)字及下劃線!</param>
/// <returns>返回出錯(cuò)語句,如為""則驗(yàn)正通過</returns>
public static string InputValidate(string str, int i)
{
if (i == 0)
{
return "";
}
string exp = "", tip = "";
switch (i)
{
case 1:
exp = @"^\d+$"; //正整數(shù)和0
tip = "只能輸入正整數(shù)和0";
break;
case 2:
exp = @"^\d+(\.\d+)?$"; //非負(fù)數(shù)
tip = "只能輸入非負(fù)數(shù)";
break;
case 3:
exp = @"^(\d|[1-9]\d)$"; //0到99之間的整數(shù)
tip = "只能輸入0到99之間的整數(shù)";
break;
case 4:
exp = @"[\u4e00-\u9fa5]"; //中文字符
tip = "只能輸入中文字符";
break;
case 5:
exp = @"^\w{6,}$";
tip = "密碼至少6個(gè)字符,可使用字母、數(shù)字及下劃線!";
break;
default:
exp = "";
tip = "";
break;
}
if (Regex.IsMatch(str, exp))
{
return "";
}
else
{
return tip;
}
}
#endregion
#region 判斷是否是數(shù)字
/// <summary>
/// 判斷是否是數(shù)字
/// </summary>
/// <param name="str">字符串</param>
/// <returns>全數(shù)字返回True,若有某個(gè)值不為數(shù)字返回False</returns>
public static bool IsNumeric(string str)
{
if (str == null || str.Length == 0)
return false;
System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
byte[] bytestr = ascii.GetBytes(str);
foreach (byte c in bytestr)
{
if (c < 48 || c > 57)
{
return false;
}
}
return true;
}
#endregion
#region 字符串直接MD5加密
/// <summary>
/// 字符串直接MD5加密
/// </summary>
/// <param name="str">需加密的字符串</param>
/// <returns>md5加密后的密碼</returns>
public static string StringToMD5(string str)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
}
#endregion
#region 字符串轉(zhuǎn)換小寫后MD5加密
/// <summary>
/// 字符串轉(zhuǎn)換小寫后MD5加密
/// </summary>
/// <param name="psw">密碼明碼</param>
/// <returns>md5加密后的密碼</returns>
public static string stringToMD5(string str)
{
str = str.ToLower();
return FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
}
#endregion
#region 字符串直接SHA1加密
/// <summary>
/// 字符串直接SHA1加密
/// </summary>
/// <param name="str">需加密的字符串</param>
/// <returns>SHA1加密后的密碼</returns>
public static string StringToSHA1(string str)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1").ToLower();
}
#endregion
#region 字符串轉(zhuǎn)換小寫后SHA1加密
/// <summary>
/// 字符串轉(zhuǎn)換小寫后SHA1加密
/// </summary>
/// <param name="psw">密碼明碼</param>
/// <returns>SHA1加密后的密碼</returns>
public static string stringToSHA1(string str)
{
str = str.ToLower();
return FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1");
}
#endregion
#region 默認(rèn)密鑰向量 DES加密解密用
/// <summary>
/// 默認(rèn)密鑰向量
/// </summary>
private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
#endregion
#region DES加密字符串,需設(shè)置加密密鑰,要求為8位
/// <summary>
/// DES加密字符串,需設(shè)置加密密鑰,要求為8位
/// </summary>
/// <param name="encryptString">待加密的字符串</param>
/// <param name="encryptKey">加密密鑰,要求為8位</param>
/// <returns>加密成功返回加密后的字符串,失敗返回源串</returns>
public static string EncryptDES(string encryptString, string encryptKey)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
byte[] rgbIV = Keys;
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
catch
{
return encryptString;
}
}
#endregion
#region DES解密字符串,需加密時(shí)的密鑰,要求為8位
/// <summary>
/// DES解密字符串,需加密時(shí)的密鑰,要求為8位
/// </summary>
/// <param name="decryptString">待解密的字符串</param>
/// <param name="decryptKey">解密密鑰,要求為8位,和加密密鑰相同</param>
/// <returns>解密成功返回解密后的字符串,失敗返源串</returns>
public static string DecryptDES(string decryptString, string decryptKey)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
byte[] rgbIV = Keys;
byte[] inputByteArray = Convert.FromBase64String(decryptString);
DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());
}
catch
{
return decryptString;
}
}
#endregion
#region "按當(dāng)前日期和時(shí)間生成隨機(jī)數(shù)"
/// <summary>
/// 按當(dāng)前日期和時(shí)間生成隨機(jī)數(shù)
/// </summary>
/// <param name="Num">附加隨機(jī)數(shù)長度</param>
/// <returns></returns>
public static string sRndNum(int Num)
{
string sTmp_Str = System.DateTime.Today.Year.ToString() + System.DateTime.Today.Month.ToString("00") + System.DateTime.Today.Day.ToString("00") + System.DateTime.Now.Hour.ToString("00") + System.DateTime.Now.Minute.ToString("00") + System.DateTime.Now.Second.ToString("00");
return sTmp_Str + RndNum(Num);
}
#endregion
#region 生成0-9隨機(jī)數(shù)
/// <summary>
/// 生成0-9隨機(jī)數(shù)
/// </summary>
/// <param name="VcodeNum">生成長度</param>
/// <returns></returns>
public static string RndNum(int VcodeNum)
{
StringBuilder sb = new StringBuilder(VcodeNum);
Random rand = new Random();
for (int i = 1; i < VcodeNum + 1; i++)
{
int t = rand.Next(9);
sb.AppendFormat("{0}", t);
}
return sb.ToString();
}
#endregion
#region "通過RNGCryptoServiceProvider 生成隨機(jī)數(shù) 0-9"
/// <summary>
/// 通過RNGCryptoServiceProvider 生成隨機(jī)數(shù) 0-9
/// </summary>
/// <param name="length">隨機(jī)數(shù)長度</param>
/// <returns></returns>
public static string RndNumRNG(int length)
{
byte[] bytes = new byte[16];
RNGCryptoServiceProvider r = new RNGCryptoServiceProvider();
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < length; i++)
{
r.GetBytes(bytes);
sb.AppendFormat("{0}", (int)((decimal)bytes[0] / 256 * 10));
}
return sb.ToString();
}
#endregion
#region "轉(zhuǎn)換編碼"
/// <summary>
/// 轉(zhuǎn)換編碼
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string Encode(string str)
{
if (str == null)
{
return "";
}
else
{
return System.Web.HttpUtility.UrlEncode(Encoding.GetEncoding(54936).GetBytes(str));
}
}
#endregion
#region "按字符串位數(shù)補(bǔ)0"
/// <summary>
/// 按字符串位數(shù)補(bǔ)0
/// </summary>
/// <param name="CharTxt">字符串</param>
/// <param name="CharLen">字符長度</param>
/// <returns></returns>
public static string FillZero(string CharTxt, int CharLen)
{
if (CharTxt.Length < CharLen)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < CharLen - CharTxt.Length; i++)
{
sb.Append("0");
}
sb.Append(CharTxt);
return sb.ToString();
}
else
{
return CharTxt;
}
}
#endregion
#region "替換JS中特殊字符"
/// <summary>
/// 將JS中的特殊字符替換
/// </summary>
/// <param name="str">要替換字符</param>
/// <returns></returns>
public static string ReplaceJs(string str)
{
if (str != null)
{
str = str.Replace("\"", """);
str = str.Replace("(", "(");
str = str.Replace(")", ")");
str = str.Replace("%", "%");
}
return str;
}
#endregion
#region "正式表達(dá)式驗(yàn)證"
/// <summary>
/// 正式表達(dá)式驗(yàn)證
/// </summary>
/// <param name="C_Value">驗(yàn)證字符</param>
/// <param name="C_Str">正式表達(dá)式</param>
/// <returns>符合true不符合false</returns>
public static bool CheckRegEx(string C_Value, string C_Str)
{
Regex objAlphaPatt;
objAlphaPatt = new Regex(C_Str, RegexOptions.Compiled);
return objAlphaPatt.Match(C_Value).Success;
}
#endregion
#region "檢測是否為有效郵件地址格式"
/// <summary>
/// 檢測是否為有效郵件地址格式
/// </summary>
/// <param name="strIn">輸入郵件地址</param>
/// <returns></returns>
public static bool IsValidEmail(string strIn)
{
return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
#endregion
#region "產(chǎn)生GUID"
/// <summary>
/// 獲取一個(gè)GUID的HashCode
/// </summary>
public static int GetGUIDHashCode
{
get
{
return GetGUID.GetHashCode();
}
}
/// <summary>
/// 獲取一個(gè)GUID字符串
/// </summary>
public static string GetGUID
{
get
{
return Guid.NewGuid().ToString();
}
}
#endregion
}
}