C#函数实现的小功能
C#中Split分隔字符串的应用
1、用字符串分隔:
using System.Text.RegularExpressions;


string str="aaajsbbbjsccc";

string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);

foreach (string i in sArray) Response.Write(i.ToString() + "<br>");



输出结果:
aaa
bbb
ccc

2、用多个字符来分隔:

string str="aaajbbbscccjdddseee";

string[] sArray=str.Split(new char[2]{'j','s'});

foreach(string i in sArray) Response.Write(i.ToString() + "<br>");



输出结果:
aaa
bbb
ccc
ddd
eee

3、用单个字符来分隔:

string str="aaajbbbjccc";

string[] sArray=str.Split('j');

foreach(string i in sArray) Response.Write(i.ToString() + "<br>");

输出结果:
aaa
bbb
ccc


==================
子窗体返回主窗体

///<summary>
///名称:redirect
///功能:子窗体返回主窗体
///参数:url
///返回值:空
///</summary>
public void redirect(string url,Page page)
{
if ( Session["IfDefault"]!=(object)"Default")
{
page.RegisterStartupScript("","<script>window.top.document.location.href='"+url+"';</script>");
}
}

判断是否为数字

/// <summary>
/// 名称:IsNumberic
/// 功能:判断输入的是否是数字
/// 参数:string oText:源文本
/// 返回值: bool true:是 false:否
/// </summary>
public bool IsNumberic(string oText)
{
try
{
int var1=Convert.ToInt32 (oText);
return true;
}
catch
{
return false;
}
}

获得字符串实际长度(包括中文字符)

//获得字符串oString的实际长度
public int StringLength(string oString)
{
byte[] strArray=System.Text .Encoding.Default .GetBytes (oString);
int res=strArray.Length ;
return res;
}

将回车转换为TAB

//当在有keydown事件的控件上敲回车时,变为tab
public void Tab(System.Web .UI.WebControls .WebControl webcontrol)
{
webcontrol.Attributes .Add ("onkeydown", "if(event.keyCode==13) event.keyCode=9");
}

datagrid分页中如果删除时出现超出索引

public void jumppage(System.Web.UI.WebControls.DataGrid dg)



*/

//Base64编码
public string EncodeBase64(string code_type,string code)




c#的一些字符串的经验
//获得汉字的区位码
byte[] array = new byte[2];
array = System.Text.Encoding.Default.GetBytes("啊");

int i1 = (short)(array[0] - '\0');
int i2 = (short)(array[1] - '\0');

//unicode解码方式下的汉字码
array = System.Text.Encoding.Unicode.GetBytes("啊");
i1 = (short)(array[0] - '\0');
i2 = (short)(array[1] - '\0');

//unicode反解码为汉字
string str = "4a55";
string s1 = str.Substring(0,2);
string s2 = str.Substring(2,2);

int t1 = Convert.ToInt32(s1,16);
int t2 = Convert.ToInt32(s2,16);

array[0] = (byte)t1;
array[1] = (byte)t2;

string s = System.Text.Encoding.Unicode.GetString(array);

//default方式反解码为汉字
array[0] = (byte)196;
array[1] = (byte)207;
s = System.Text.Encoding.Default.GetString(array);

//取字符串长度
s = "iam方枪枪";
int len = s.Length;//will output as 6
byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
len = sarr.Length;//will output as 3+3*2=9

//字符串相加
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
sb.Append("i ");
sb.Append("am ");
sb.Append("方枪枪");


string fox;
fox.ToLower()转化成小写字母
fox.ToUpper()转化成大写字母
fox.Trim()删除前后空格
fox.Trim(trimChars)删除其它字符
fox.TrimStart()删除前空格
fox.TrimEnd()删除后空格
fox.PadLeft(10)增加左边空格,使字串达到某长度。
fox.PadRight(10)增加右边空格,使字串达到某长度。
fox.PadX(10,'-')增加其它字符,使字串达到某长度。X指:Left/Right
fox.Split(' ')将字串分解成数组

//格式化
string sf=string.Format("{0}年{1}月{2}日 {3}时{4}分",temp.Year,temp.Month,temp.Day,currTime.TruantTime.Hour,currTime.TruantTime.Minute);

//一些正则表达式
Internet地址表达式
http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
Email地址表达式
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
邮编
\d
电话号码
(\(\d
\)|\d{3}-)?\d{8}

//分隔字符串
string total="aaa,bbb,ccc,dddd";
string[]strArray;
char[]charArray=new char[]
;
strArray=total.Split(charArray);

//日期
DateTime t1 = new DateTime(2002,5,30);
DateTime t2 = new DateTime(2002,5,23);
TimeSpan diff=t1-t2;
MessageBox.Show(diff.Days.ToString(

System.DateTime.Now.ToString()

DateTime d1=Convert.ToDateTime("2003-01-01 18:20:01");
string s=d1.ToString("yyyy-MM-dd HH:mm:ss");

//目录
Environment.CurrentDirectory
Application.StartupPath

//Base64解码
public string DecodeBase64(string code_type,string code)



//将querystirng转换成url:
public static string GetRedirectUrl(NameValueCollection queryString)



}
}
一. 显示消息对话框类

做项目时总免不了要弹出对话框,或提示用户,或做用户确认。像WinForm下的MessageBox一样很方便,但web下是不是也可以实现呢,答案是肯定的,我简单总结了一下并封装到类,在项目里像WinForm的MessageBox那样直接调用就可以,也可以把它编译成dll作为组件直接调用,并且它也没有弹出对话框时的大白屏现象:)。

/**/

public class MessageBox




二.页面数据验证类

做项目,特别做MIS,更避免不了有用户输入数据需要做有效性验证,这里我总结封装了一个页面数据校验的工具类,用起来也是很方便。

/**/

public class PageValidate

在Textbox的輸入中﹐我們常常需要控制輸入的類型﹐比如說只能輸入數字﹐當然實現的方法很多﹐我總結了一下我做過的一些項目﹐我常會使用以下這三種﹕
1﹑使用Try
Catch
private static bool IsNumeric(string itemValue,int intFLag)
2﹑使用正則表達式
using System.Text.RegularExpressions;
private static bool IsNumeric(string itemValue)

private static bool IsRegEx(string regExValue, string itemValue)
{
try
{
Regex regex = new System.Text.RegularExpressions.Regex(regExValue);
if (regex.IsMatch(itemValue)) return true;
else return false;
}
catch (Exception )
{
return false;
}
finally
{
}
}

3﹑判斷輸入的keyCode
public static bool IsNumeric(System.Windows.Forms.KeyPressEventArgs e)
{
if ((e.KeyChar >= (char)48 && e.KeyChar<=(char)57) ||
e.KeyChar ==(char)8 || e.KeyChar ==(char)45 || e.KeyChar ==(char)47)
{
}
else
{
e.Handled=true;
}
return true;
}
1、用字符串分隔:
using System.Text.RegularExpressions;

string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br>");


输出结果:
aaa
bbb
ccc

2、用多个字符来分隔:
string str="aaajbbbscccjdddseee";
string[] sArray=str.Split(new char[2]{'j','s'}); 
foreach(string i in sArray) Response.Write(i.ToString() + "<br>"); 


输出结果:
aaa
bbb
ccc
ddd
eee

3、用单个字符来分隔:
string str="aaajbbbjccc";
string[] sArray=str.Split('j');
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc

==================
子窗体返回主窗体 
///<summary>
///名称:redirect
///功能:子窗体返回主窗体
///参数:url
///返回值:空
///</summary>
public void redirect(string url,Page page)
{
if ( Session["IfDefault"]!=(object)"Default")
{
page.RegisterStartupScript("","<script>window.top.document.location.href='"+url+"';</script>");
}
} 
判断是否为数字 
/// <summary>
/// 名称:IsNumberic
/// 功能:判断输入的是否是数字
/// 参数:string oText:源文本
/// 返回值: bool true:是 false:否
/// </summary>
public bool IsNumberic(string oText)
{
try
{
int var1=Convert.ToInt32 (oText);
return true;
}
catch
{
return false;
}
} 
获得字符串实际长度(包括中文字符) 
//获得字符串oString的实际长度
public int StringLength(string oString)
{
byte[] strArray=System.Text .Encoding.Default .GetBytes (oString);
int res=strArray.Length ;
return res;
} 
将回车转换为TAB 
//当在有keydown事件的控件上敲回车时,变为tab
public void Tab(System.Web .UI.WebControls .WebControl webcontrol)
{
webcontrol.Attributes .Add ("onkeydown", "if(event.keyCode==13) event.keyCode=9");
} 
datagrid分页中如果删除时出现超出索引 
public void jumppage(System.Web.UI.WebControls.DataGrid dg)



*/
//Base64编码
public string EncodeBase64(string code_type,string code)




c#的一些字符串的经验
//获得汉字的区位码
byte[] array = new byte[2];
array = System.Text.Encoding.Default.GetBytes("啊"); 
int i1 = (short)(array[0] - '\0');
int i2 = (short)(array[1] - '\0'); 
//unicode解码方式下的汉字码
array = System.Text.Encoding.Unicode.GetBytes("啊");
i1 = (short)(array[0] - '\0');
i2 = (short)(array[1] - '\0'); 
//unicode反解码为汉字
string str = "4a55";
string s1 = str.Substring(0,2);
string s2 = str.Substring(2,2); 
int t1 = Convert.ToInt32(s1,16);
int t2 = Convert.ToInt32(s2,16); 
array[0] = (byte)t1;
array[1] = (byte)t2; 
string s = System.Text.Encoding.Unicode.GetString(array); 
//default方式反解码为汉字
array[0] = (byte)196;
array[1] = (byte)207;
s = System.Text.Encoding.Default.GetString(array); 
//取字符串长度
s = "iam方枪枪";
int len = s.Length;//will output as 6
byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
len = sarr.Length;//will output as 3+3*2=9 
//字符串相加
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
sb.Append("i ");
sb.Append("am ");
sb.Append("方枪枪"); 

string fox;
fox.ToLower()转化成小写字母
fox.ToUpper()转化成大写字母
fox.Trim()删除前后空格
fox.Trim(trimChars)删除其它字符
fox.TrimStart()删除前空格
fox.TrimEnd()删除后空格
fox.PadLeft(10)增加左边空格,使字串达到某长度。
fox.PadRight(10)增加右边空格,使字串达到某长度。
fox.PadX(10,'-')增加其它字符,使字串达到某长度。X指:Left/Right
fox.Split(' ')将字串分解成数组 
//格式化
string sf=string.Format("{0}年{1}月{2}日 {3}时{4}分",temp.Year,temp.Month,temp.Day,currTime.TruantTime.Hour,currTime.TruantTime.Minute); 
//一些正则表达式
Internet地址表达式
http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
Email地址表达式
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
邮编
\d
电话号码
(\(\d
\)|\d{3}-)?\d{8} 
//分隔字符串
string total="aaa,bbb,ccc,dddd";
string[]strArray;
char[]charArray=new char[]
;
strArray=total.Split(charArray); 
//日期
DateTime t1 = new DateTime(2002,5,30);
DateTime t2 = new DateTime(2002,5,23);
TimeSpan diff=t1-t2;
MessageBox.Show(diff.Days.ToString( 
System.DateTime.Now.ToString() 
DateTime d1=Convert.ToDateTime("2003-01-01 18:20:01");
string s=d1.ToString("yyyy-MM-dd HH:mm:ss"); 
//目录
Environment.CurrentDirectory
Application.StartupPath 
//Base64解码
public string DecodeBase64(string code_type,string code)



//将querystirng转换成url:
public static string GetRedirectUrl(NameValueCollection queryString)



}
}
一. 显示消息对话框类 
做项目时总免不了要弹出对话框,或提示用户,或做用户确认。像WinForm下的MessageBox一样很方便,但web下是不是也可以实现呢,答案是肯定的,我简单总结了一下并封装到类,在项目里像WinForm的MessageBox那样直接调用就可以,也可以把它编译成dll作为组件直接调用,并且它也没有弹出对话框时的大白屏现象:)。 
/**/
public class MessageBox 



二.页面数据验证类
做项目,特别做MIS,更避免不了有用户输入数据需要做有效性验证,这里我总结封装了一个页面数据校验的工具类,用起来也是很方便。 
/**/
public class PageValidate 

在Textbox的輸入中﹐我們常常需要控制輸入的類型﹐比如說只能輸入數字﹐當然實現的方法很多﹐我總結了一下我做過的一些項目﹐我常會使用以下這三種﹕
1﹑使用Try
Catch
private static bool IsNumeric(string itemValue,int intFLag)
2﹑使用正則表達式
using System.Text.RegularExpressions;
private static bool IsNumeric(string itemValue)

private static bool IsRegEx(string regExValue, string itemValue)
{
try
{
Regex regex = new System.Text.RegularExpressions.Regex(regExValue);
if (regex.IsMatch(itemValue)) return true;
else return false;
}
catch (Exception )
{
return false;
}
finally
{
}
}
3﹑判斷輸入的keyCode
public static bool IsNumeric(System.Windows.Forms.KeyPressEventArgs e)
{
if ((e.KeyChar >= (char)48 && e.KeyChar<=(char)57) ||
e.KeyChar ==(char)8 || e.KeyChar ==(char)45 || e.KeyChar ==(char)47)
{
}
else
{
e.Handled=true;
}
return true;
}Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1221991
浙公网安备 33010602011771号