web开发中常用的、做成cs文件的js代码
在ASP.Net中两种利用CSS实现多界面的方法
方法一:
<%@page language="C#"%>
<%@import namespace="System.Data"%>
<script language="c#" runat="server">
public void page_load(Object obj,EventArgs e)
{
//创建服务器端控件.
//指定的标记"LINK"初始化此类的新实例.
HtmlGenericControl objLink=new HtmlGenericControl("LINK");
objLink.ID=ID;
objLink.Attributes["rel"]="stylesheet";
objLink.Attributes["type"]="text/css";
objLink.Attributes["href"]="portal.css";
//此控件不产生任何可见输出,仅作为其他控件的容器,可在其中添加,插入或移除控件.
MyCSS.Controls.Add(objLink);
}
</script>
<html>
<head>
<title>c#</title>
<asp:placeholder id="MyCSS" runat="server"></asp:placeholder>
</head>
<body bgColor="#ffcc66" style="FONT:9pt">
<form runat="server">
</form>
</body>
</html>
通过动态设置页面所有同类型控件的样式来该变界面:
方法二:
可以通过改变WEB控件的CssClass属性,可方便地设置和修改控件的样式。
但在实际开发过程中,一个个地设置控件的CssClass属性,非常繁琐,所以此思路应用不广.
但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的SKIN等功能。
代码如下:
public void page_load(Object obj,EventArgs e)
{
if(!Page.IsPostBack){
//为页面的所有控件设置样式.
SetCSS(Page.Controls);
}
}
private void SetCSS(System.Web.UI.ControlCollection vControls)
{
for(int i=0;i<vControls.Count;i++)
{
System.Web.UI.Control vControl=vControls[i];
//得到控件的类型
//可增加控件类型及相应处理方法
string PType=vControl.GetType().Name;
switch (PType)
{
case "TextBox":
TextBox_CSS ((TextBox) vControl);
break;
case "Button":
//Button_CSS ((Button) vControl);
break;
case "DataGrid":
//DataGrid_CSS ((DataGrid) vControl);
break;
}
if(vControl.Controls.Count>0)
SetCSS(vControl.Controls);
}
}
private void TextBox_CSS(TextBox tb){
tb.CssClass="TextBox_show";
}
<form runat="server">
<asp:textbox id="Search1" runat="server"/>
<asp:textbox id="Search2" CssClass="INPUT" runat="server"/>
</form>
运行后,查看页面源码.可发现文本框的样式已统一修改为"TextBox_show".
转换函数大全
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指定的页面
16、char.IsWhiteSpce(字串变量,位数)——逻辑型
查指定位置是否空字符;
如:
string str="中国 人民";;
Response.Write(char.IsWhiteSpace(str,2));; //结果为:True, 第一个字符是0位,2是第三个字符。
17、char.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〉 (或换为〈,但估计经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、字串对比一般都用: if(str1==str2){ } , 但还有别的方法:
(1)、
string str1;; str2
//语法: str1.EndsWith(str2);; __检测字串str1是否以字串str2结尾,返回布尔值.如:
if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的");; }
(2)、
//语法:str1.Equals(str2);; __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
(3)、
//语法 Equals(str1,str2);; __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
24、IndexOf() 、LastIndexOf()
查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值,如:
str1.IndexOf("字"); //查找;字”在str1中的索引值(位置)
str1.IndexOf("字串");//查找;字串”的第一个字符在str1中的索引值(位置)
str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找;字串”的第一个字符在str1中的索引值(位置)
25、Insert()
在字串中指定索引位插入指定字符。如:
str1.Insert(1,"字");;在str1的第二个字符处插入;字”,如果str1="中国",插入后为;中字国”;
26、PadLeft()、PadRight()
在字串左(或右)加空格或指定char字符,使字串达到指定长度,如:
〈%
string str1="中国人";;
str1=str1.PadLeft(10,'1');; //无第二参数为加空格
Response.Write(str1);; //结果为;1111111中国人” , 字串长为10
%〉
27、Remove()
从指定位置开始删除指定数的字符
字串对比一般都用: if(str1==str2){ } , 但还有别的方法:
1、
string str1;; str2
//语法: str1.EndsWith(str2);; __检测字串str1是否以字串str2结尾,返回布尔值.如:
if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的");; }
2、
//语法:str1.Equals(str2);; __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
3、
//语法 Equals(str1,str2);; __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
IndexOf()
查找字串中指定字符或字串首次出现的位置,返首索引值,如:
str1.IndexOf("字"); //查找;字”在str1中的索引值(位置)
str1.IndexOf("字串");//查找;字串”的第一个字符在str1中的索引值(位置)
str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找;字串”的第一个字符在str1中的索引值(位置)
1.9 取中文日期显示——年月日时分
string strY=currentTime.ToString("f");; //不显示秒
1.10 取中文日期显示_年月
string strYM=currentTime.ToString("y");;
1.11 取中文日期显示_月日
string strMD=currentTime.ToString("m");;
1.12 取当前年月日,格式为:2003-9-23
string strYMD=currentTime.ToString("d");;
1.13 取当前时分,格式为:14:24
string strT=currentTime.ToString("t");;
转载(正则表达式)
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
利用正则表达式分解和转换IP地址:
下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:
function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}
不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:
var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
利用正则表达式去除字串中重复的字符的算法程序:[注:此程序不正确,原因见本贴回复]
var s="abacabefgeeii"
var s1=s.replace(/(.).*\1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2) //结果为:abcefgi
我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。
得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1
s="http://www.9499.net/page1.htm"
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
alert(s)
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="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,''))"
正则表达式,相关链接
http://blog.csdn.net/laily/category/19548.aspx
http://blog.csdn.net/laily/archive/2004/06/30/30525.aspx 微软的正则表达式教程(五):选择/编组和后向引用
http://blog.csdn.net/laily/archive/2004/06/30/30522.aspx 微软的正则表达式教程(四):限定符和定位符
http://blog.csdn.net/laily/archive/2004/06/30/30517.aspx 微软的正则表达式教程(三):字符匹配
http://blog.csdn.net/laily/archive/2004/06/30/30514.aspx 微软的正则表达式教程(二):正则表达式语法和优先权顺序
http://blog.csdn.net/laily/archive/2004/06/30/30511.aspx 微软的正则表达式教程(一):正则表达式简介
http://blog.csdn.net/laily/archive/2004/06/30/30360.aspx 小程序大作为:高级查找/替换、正则表达式练习器、Javascript脚本程序调试器
http://blog.csdn.net/laily/archive/2004/06/24/25872.aspx 经典正则表达式
正则表达式,正规表达式,正则表达式匹配,正则表达式语法,模式匹配,正规表达式匹配 javascript正则表达式 ASP正则表达式 ASP.NET正则表达式 C#正则表达式 JSP正则表达式 PHP正则表达式 VB.NET正则表达式 VBSCript正则表达式编程 delphi正则表达式 jscript
正则表达式 regular expression
正则表达式 RegExp
模式 pattern
匹配 Match
.NET命名空间: System.Text.RegularExpression
补充:
^\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
利用