各种小代码片段

//树控件。
TreeNode node = new TreeNode(function[i].Function1);
                    treeView1.Nodes.Add(node);
                   
for (int j = 0; j < function.Count; j++)
                    {
                       
if (function[i].Id == function[j].Uid)
                        {
                            TreeNode nod
= new TreeNode(function[j].Function1);
                            node.Nodes.Add(nod);
                           
for (int z = 0; z < function.Count; z++)
                            {
                               
if (function[j].Id == function[z].Uid)
                                {
                                    TreeNode n
= new TreeNode(function[z].Function1);
                                    nod.Nodes.Add(n);
                                }
                            }
                        }

 

// 倒置字符串
static public string Reverse( string s ) { char[] charArray = s.ToCharArray();
    Array.Reverse( charArray );
   
return new string( charArray );
}

 

string str=Server.MapPath("文件名");   在项目下建文件,
StreamWriter sw
=new StreamWriter(str);
sw.Write(
"woaizhutingting");
sw.Close();

用户名:
var pattern= /^[a-zA-Z]([/u4E00-/u9FA5]|[/uFE30-/uFFA0]|[_/a-zA-Z0-9]|[/s])*$/gi; 

<a href="http://www.baidu.com" onclick="this.href='#';doaction()">只产生点击事件  </a>

sDir不存在时,创建它
if(!Directory.Exists(sDir))
{
Directory.CreateDirectory(sDir);
}
跳转并跳出框架
Page.RegisterStartupScript(
"d","<script>window.open('index.aspx','_parent')</script>");

//禁止鼠标粘贴和键盘输入
onselectstart="return false"    onkeydown="return false"


随即数
<script>
var i=Math.random()*1
alert(i)
</script>

//给table添加一行。(限IE)
with(tbTripInfo.firstChild)appendChild(lastChild.cloneNode(true));


设置文字与框并排显示。
<asp:RadioButtonList id="RadioButtonList1"
      RepeatDirection
="Horizontal"
      RepeatLayout
="Table" 
      runat
="server">
<asp:ListItem>文字</asp:ListItem>

//提交时屏蔽按钮
    <script type="text/javascript">
    function chk(frm) {
        frm.Button1.disabled
=true;
        frm.Button1.value
='提交...';
    }
   
</script>

<asp:Button ID="Button1" UseSubmitBehavior="false" runat="server" OnClientClick="chk(form1)"
OnClick
="Button1_Click" Text="提交" />

//使用ajax与框架时注意:
在使用框架指定frameborder时,不能指定yes和no,只能指定1和0.错误信息为;Sys.ArgumentOutOfRangeException: Value must be an integer

设置上传文件大小
<system.web>
     
<httpRuntime maxRequestLength="8192"  //可变更
         useFullyQualifiedRedirectUrl="true"
         executionTimeout
="45"
         versionHeader
="1.1.4128"/>
  
</system.web>

using System.Diagnostics ;
Process.Start (
@"shutdown",@"-s -t 10");列个是10秒钟自动关机

md5加密
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text,
"md5")



//字体转换
添加Microsoft Visual Basic.NET Runtime 引用
str2
= Microsoft.VisualBasic.Strings.StrConv(str1, Microsoft.VisualBasic.VbStrConv.TraditionalChinese, System.Globalization.CultureInfo.CurrentCulture.LCID);

str3
= Microsoft.VisualBasic.Strings.StrConv(str1, Microsoft.VisualBasic.VbStrConv.SimplifiedChinese, System.Globalization.CultureInfo.CurrentCulture.LCID);

//关闭窗体时不提示
Response.Write("<script>window.opener=null;window.close()</script>")

如果是通过子窗体关闭父窗体时怎么做呢
子窗体(弹出窗体):
同理可得:
Response.Write(
"<script>window.opener.top.opener=null;window.opener.top.close()</script>")




加html内容(insertAdjacentHTML和insertAdjacentText)
    dhtml提供了两个方法来进行添加,insertAdjacentHTML和insertAdjacentText
insertAdjacentHTML方法:在指定的地方插入html标签语句。
    原型:insertAdjacentHTML(swhere,stext)
    参数:
    swhere:指定插入html标签语句的地方,有四种值可以用:
             
1.beforeBegin:插入到标签开始前
             
2.afterBegin:插入到标签开始标记后
             
3.beforeEnd:插入到标签结束标记前
             
4.afterEnd:插入到标签结束标记后


论坛引用:
<fieldset> <legend>引用sss的回复 </legend>asdf
"^/d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-/d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?/d+$"    //整数
"^/d+(/./d+)?$"  //非负浮点数(正浮点数 + 0)
"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
"^((-/d+(/./d+)?)|(0+(/.0+)?))$"  //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
"^(-?/d+)(/./d+)?$"  //浮点数
"^[A-Za-z]+$"  //由26个英文字母组成的字符串
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串
"^[a-z]+$"  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串
"^/w+$"  //由数字、26个英文字母或者下划线组成的字符串
"^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$"    //email地址
"^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/   // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"   //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"     //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"   //IP地址

匹配中文字符的正则表达式: [/u4e00
-/u9fa5]
匹配双字节字符(包括汉字在内):[
^/x00-/xff]
匹配空行的正则表达式:/n[/s
| ]*/r
匹配HTML标记的正则表达式:
/<(.*)>.*<///1>|<(.*) //>/
匹配首尾空格的正则表达式:(
^/s*)|(/s*$)
匹配Email地址的正则表达式:/w
+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
匹配网址URL的正则表达式:
^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(/d{
3}-|/d{4}-)?(/d{8}|/d{7})?
匹配腾讯QQ号:
^[1-9]*[1-9][0-9]*$


元字符及其在正则表达式上下文中的行为:

/ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。

^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’/n’ 或 ’/r’ 之后的位置。

$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’/n’ 或 ’/r’ 之前的位置。

* 匹配前面的子表达式零次或多次。

+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。

? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。

{n} n 是一个非负整数,匹配确定的n 次。

{n,} n 是一个非负整数,至少匹配n 次。

{n,m} m 和 n 均为非负整数,其中n
<= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。

? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。

. 匹配除
"/n" 之外的任何单个字符。要匹配包括 ’/n’ 在内的任何字符,请使用象 ’[./n]’ 的模式。
(pattern) 匹配pattern 并获取这一匹配。

(
?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

(
?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。

(
?!pattern) 负向预查,与(?=pattern)作用相反

x
|y 匹配 x 或 y。

[xyz] 字符集合。

[
^xyz] 负值字符集合。

[a
-z] 字符范围,匹配指定范围内的任意字符。

[
^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。

/b 匹配一个单词边界,也就是指单词和空格间的位置。

/B 匹配非单词边界。

/cx 匹配由x指明的控制字符。

/d 匹配一个数字字符。等价于 [
0-9]。

/D 匹配一个非数字字符。等价于 [
^0-9]。

/f 匹配一个换页符。等价于 /x0c 和 /cL。

/n 匹配一个换行符。等价于 /x0a 和 /cJ。

/r 匹配一个回车符。等价于 /x0d 和 /cM。

/s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ /f/n/r/t/v]。

/S 匹配任何非空白字符。等价于 [
^ /f/n/r/t/v]。

/t 匹配一个制表符。等价于 /x09 和 /cI。

/v 匹配一个垂直制表符。等价于 /x0b 和 /cK。

/w 匹配包括下划线的任何单词字符。等价于’[A
-Za-z0-9_]’。

/W 匹配任何非单词字符。等价于 ’[
^A-Za-z0-9_]’。

/xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。

/num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。

/n 标识一个八进制转义值或一个后向引用。如果 /n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (
0-7),则 n 为一个八进制转义值。

/nm 标识一个八进制转义值或一个后向引用。如果 /nm 之前至少有is preceded
by at least nm 个获取得子表达式,则 nm 为后向引用。如果 /nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 /nm 将匹配八进制转义值 nm。

/nml 如果 n 为八进制数字 (
0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。

/un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字符。

匹配中文字符的正则表达式: [u4e00
-u9fa5]

匹配双字节字符(包括汉字在内):[
^x00-xff]

匹配空行的正则表达式:n[s
| ]*r

匹配HTML标记的正则表达式:
/<(.*)>.*</1>|<(.*) />/

匹配首尾空格的正则表达式:(
^s*)|(s*$)

匹配Email地址的正则表达式:w
+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:http:
//([w-]+.)+[w-]+(/[w- ./?%&=]*)?

利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:onkeyup
="value=value.replace(/[^u4E00-u9FA5]/g,'')" ōnbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"

用正则表达式限制只能输入全角字符: ōnkeyup
="value=value.replace(/[^uFF00-uFFFF]/g,'')" ōnbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

用正则表达式限制只能输入数字:onkeyup
="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

用正则表达式限制只能输入数字和英文:onkeyup
="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))" 
 

1、DateTime   数字型 
       System.DateTime currentTime
=new System.DateTime(); 
 
1.1 取当前年月日时分秒 
       currentTime
=System.DateTime.Now; 
 
1.2 取当前年 
      
int=currentTime.Year; 
 
1.3 取当前月 
      
int=currentTime.Month; 
 
1.4 取当前日 
      
int=currentTime.Day; 
 
1.5 取当前时 
      
int=currentTime.Hour; 
 
1.6 取当前分 
      
int=currentTime.Minute; 
 
1.7 取当前秒 
      
int=currentTime.Second; 
 
1.8 取当前毫秒 
   
int 毫秒=currentTime.Millisecond; 
    (变量可用中文) 
2、Int32.Parse(变量)            Int32.Parse("常量"
   字符型转换 转为32位数字型 
3、  变量.ToString()      
   字符型转换 转为字符串 
  
12345.ToString("n");        //生成   12,345.00 
   12345.ToString("C");        //生成 ¥12,345.00 
   12345.ToString("e");        //生成 1.234500e+004 
   12345.ToString("f4");        //生成 12345.0000 
   12345.ToString("x");         //生成 3039  (16进制) 
   12345.ToString("p");         //生成 1,234,500.00% 

4、变量.Length  数字型 
   取字串长度: 
      如:
string str="中国"
          
int Len = str.Length ;    //Len是自定义变量, str是求测的字串的变量名 
5、System.Text.Encoding.Default.GetBytes(变量) 
   字码转换 转为比特码 
      如:
byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 
   然后可得到比特长度: 
      len
= bytStr.Length; 
6、System.Text.StringBuilder(""
    字符串相加,(
+号是不是也一样?) 
    如:System.Text.StringBuilder sb
= new System.Text.StringBuilder(""); 
       sb.Append(
"中华"); 
       sb.Append(
"人民"); 
       sb.Append(
"共和国"); 
7、变量.Substring(参数1,参数2); 
    截取字串的一部分,参数1为左起始位数,参数2为截取几位。 
    如:
string s1 = str.Substring(0,2); 
8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 
    取远程用户IP地址 
9、穿过代理服务器取远程用户真实IP地址: 
  
if(Request.ServerVariables["HTTP_VIA"]!=null){ 
     
string  user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); 
     }
else
     
string  user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 
    } 
     
10、  Session["变量"];   
      存取Session值; 
      如,赋值:  Session[
"username"]="小布什"
          取值:  Object objName
=Session["username"]; 
                  String strName
=objName.ToString(); 
          清空:  Session.RemoveAll(); 
11、String str=Request.QueryString["变量"]; 
      用超链接传送变量。 
       如在任一页中建超链接:
<a href=Edit.aspx?fbid=23>点击</a> 
       在Edit.aspx页中取值:String str
=Request.QueryString["fdid"]; 
12、DOC对象.CreateElement("新建节点名"); 
      创建XML文档新节点 
13、父节点.AppendChild(子节点); 
      将新建的子节点加到XML文档父节点下 
14、 父节点.RemoveChild(节点); 
       删除节点 
15、Response 
    Response.Write(
"字串"); 
    Response.Write(变量); 
       向页面输出。 
    Response.Redirect(
"URL地址"); 
       跳转到URL指定的页面 
16char.IsWhiteSpce(字串变量,位数)——逻辑型 
    查指定位置是否空字符; 
    如: 
   
string str="中国  人民"
    Response.Write(
char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。 
17char.IsPunctuation('字符'--逻辑型 
    查字符是否是标点符号 
   如:Response.Write(
char.IsPunctuation('A'));   //返回:False 
18、(int)'字符' 
    把字符转为数字,查代码点,注意是单引号。 
    如: 
    Response.Write((
int)'');   //结果为中字的代码:20013 
19、(char)代码 
    把数字转为字符,查代码代表的字符。 
   如: 
   Response.Write((
char)22269);   //返回“国”字。 
    
20、 Trim() 
     清除字串前后空格 
21 、字串变量.Replace("子字串","替换为"
     字串替换 
     如: 
    
string str="中国"
     str
=str.Replace("","");  //将国字换为央字 
     Response.Write(str);     //输出结果为“中央” 
     再如:(这个非常实用) 
      
string str="这是<script>脚本"
       str
=str.Replace("<","<font><</font>");  //将左尖括号替换为<font> 与 < 与 </font> (或换为&lt,但估计经XML存诸后,再提出仍会还原) 
       Response.Write(str); //显示为:“这是<script>脚本” 
      如果不替换,<script>将不显示,如果是一段脚本,将运行;而替换后,脚本将不运行。 
      这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。 
     具体实现:将你的表单提交按钮脚本加上下面代码: 
    
string strSubmit=label1.Text;   //label1是你让用户提交数据的控件ID。 
     strSubmit=strSubmit.Replace("<","<font><</font>");  
     然后保存或输出strSubmit。 
     用此方法还可以简单实现UBB代码。 
22、Math.Max(i,j) 
    取i与j中的最大值 
    如
int x=Math.Max(5,10);  // x将取值 10  

23.跳出框架的JS
<script language = javascript>window.open('Login.aspx','_parent')</script>"
 
// 数字转换成大写金额
// 例如:(new Money(200)).ToString() == "贰佰元"
namespace Skyiv.Util
{
 
using System.Text;
 
class Test
  {
   
static void Main()
    {
     
for (;;)
      {
        System.Console.Write(
"金额: ");
       
string  s = System.Console.ReadLine();
       
decimal m;
       
try   { m = decimal.Parse(s); }
       
catch { break; }
        System.Console.WriteLine(
"大写: " + new Money(m));
      }
    }
  }
 
// 该类重载的 ToString() 方法返回的是大写金额字符串
  class Money
  {
   
public string Yuan  = "";                        // “元”,可以改为“圆”、“卢布”之类
    public string Jiao  = "";                        // “角”,可以改为“拾”
    public string Fen   = "";                        // “分”,可以改为“美分”之类
    static string Digit = "零壹贰叁肆伍陆柒捌玖";      // 大写数字
    bool   isAllZero    = true;                        // 片段内是否全零
    bool   isPreZero    = true;                        // 低一位数字是否是零
    bool   Overflow     = false;                       // 溢出标志
    long   money100;                                   // 金额*100,即以“分”为单位的金额
    long   value;                                      // money100的绝对值
    StringBuilder sb    = new StringBuilder();         // 大写金额字符串,逆序
   
// 只读属性: "零元"
    public string ZeroString
    {
     
get { return Digit[0] + Yuan; }
    }
   
// 构造函数
    public Money(decimal money)
    {
     
try   { money100 = (long)(money * 100m); }
     
catch { Overflow = true; }
     
if (money100 == long.MinValue) Overflow = true;
    }
   
// 重载 ToString() 方法,返回大写金额字符串
    public override string ToString()
    {
     
if (Overflow) return "金额超出范围";
     
if (money100 == 0) return ZeroString;
     
string [] Unit = { Yuan, "", "亿", "", "亿亿" };
      value
= System.Math.Abs(money100);
      ParseSection(
true);
     
for (int i = 0; i < Unit.Length && value > 0; i++)
      {
       
if (isPreZero && !isAllZero) sb.Append(Digit[0]);
       
if (i == 4 && sb.ToString().EndsWith(Unit[2]))
          sb.Remove(sb.Length
- Unit[2].Length, Unit[2].Length);
        sb.Append(Unit[i]);
        ParseSection(
false);
       
if ((i % 2) == 1 && isAllZero)
          sb.Remove(sb.Length
- Unit[i].Length, Unit[i].Length);
      }
     
if (money100 < 0) sb.Append("");
     
return Reverse();
    }
   
// 解析“片段”: “角分(2位)”或“万以内的一段(4位)”
    void ParseSection(bool isJiaoFen)
    {
     
string [] Unit = isJiaoFen ?
       
new string [] { Fen, Jiao } :
       
new string [] { "", "", "", "" };
      isAllZero
= true;
     
for (int i = 0; i < Unit.Length && value > 0; i++)
      {
       
int d = (int)(value % 10);
       
if (d != 0)
        {
         
if (isPreZero && !isAllZero) sb.Append(Digit[0]);
          sb.AppendFormat(
"{0}{1}", Unit[i], Digit[d]);
          isAllZero
= false;
        }
        isPreZero
= (d == 0);
        value
/= 10;
      }
    }
   
// 反转字符串
    string Reverse()
    {
      StringBuilder sbReversed
= new StringBuilder();
     
for (int i = sb.Length - 1; i >= 0; i--)
        sbReversed.Append(sb[i]);
     
return sbReversed.ToString();
    }
  }
}

//使用模板生成HTML页
    public static bool WriteFile(string strText, string strContent, string strAuthor)
    {
       
string path = HttpContext.Current.Server.MapPath("~/news/");
        Encoding code
= Encoding.GetEncoding("gb2312");
       
// 读取模板文件
        string temp = HttpContext.Current.Server.MapPath("~/news/text.html");
        StreamReader sr
= null;
        StreamWriter sw
= null;
       
string str = "";
       
try
        {
            sr
= new StreamReader(temp, code);
            str
= sr.ReadToEnd(); // 读取文件
        }
       
catch (Exception exp)
        {
            HttpContext.Current.Response.Write(exp.Message);
            HttpContext.Current.Response.End();
            sr.Close();
        }


       
string htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";
       
// 替换内容
       
// 这时,模板文件已经读入到名称为str的变量中了
        str = str.Replace("ShowArticle", strText); //模板页中的ShowArticle
        str = str.Replace("biaoti", strText);
        str
= str.Replace("content", strContent);
        str
= str.Replace("author", strAuthor);
       
// 写文件
        try
        {
            sw
= new StreamWriter(path + htmlfilename, false, code);
            sw.Write(str);
            sw.Flush();
        }
       
catch (Exception ex)
        {
            HttpContext.Current.Response.Write(ex.Message);
            HttpContext.Current.Response.End();
        }
       
finally
        {
            sw.Close();
        }
       
return true;
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值