您的位置:首页 > 编程语言 > ASP

Asp/ASP.NET中几种正则表达式

2008-06-19 23:16 344 查看
"^/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
在ASP,ASP.NET里输入验证要用到一些常用的验证,比如姓名,E-MAIL,电话号码等,我把常用的收集起来做成一个JS,
以后用起来就方便了
//校验是否全由数字组成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s)
{
var patrn=/^(/w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s)
{
var patrn=/^([0-9]{11,13})?$/;
if (!patrn.exec(s)) return false
return true
}
function isEmail(src) {
return (isEmail1.test(src) && isEmail2.test(src));
}
isEmail1 = /^/w+([/./-]/w+)*/@/w+([/./-]/w+)*/./w+$/;
isEmail2 = /^.*@[^_]*$/;
function onlychinese()
{
if ((window.event.keyCode >=32) && (window.event.keyCode <= 126))
{
window.event.keyCode = 0 ;
}
}
用法试例:<input name="UserNameCN" type="text" onKeyPress="onlychinese();">
最近看到验证中文的
1、判断字符串是否为连续的中文字符(不包含英文及其他任何符号和数字):
Regex.IsMatch("中文","^[/u4e00-/u9fa5]+$");
2、判断字符串是否为中文字符串(仅不包含英文但可以包含其他符号及数字):
!Regex.IsMatch("中文",@"[a-zA-Z]");
也很不错!
判断是汉字或标点符号的正则表达式?

[/u4e00-/u9fa5|,:]
把你要的标点放到"|"后面,注意中文的标点和英文的标点是不同的。
第二种方案:
^[/u4e00-/u9fa5]+$
第三种方案:
^[/u4e00-/u9fa5/uf900-/ufa2d]+$

最终采用的方案: return Regex.Replace(strIn,@"[/u4e00-/u9fa5|:;“‘?!""';]", "").Trim();

1.清空Cookie
Cookie.Expires=[DateTime];
Response.Cookies("UserName").Expires = 0
2.Panel 横向滚动,纵向自动扩展
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
3.回车转换成Tab
<script language="javascript" for="document" event="onkeydown">
if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!=''&& event.srcElement.type!='textarea');
event.keyCode=9;
</script>
onkeydown="if(event.keyCode==13) event.keyCode=9"
示例:http://dotnet.aspx.cc/exam/enter2tab.aspx
4.数字格式化
【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?】
<%#Container.DataItem("price","{0:¥#,##0.00}")%>
int i=123456;
string s=i.ToString("###,###.00");
5.日期格式化
【aspx页面内:<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
显示为: 2004-8-11 19:44:28 我要:2004-8-11 】
<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>
××.ToString("yyyy-MM-dd")
6大小写转换
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
7.设定全局变量
Global.asax中
Application_Start()事件中
添加Application[属性名] = xxx;
就是你的全局变量
8. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>")
接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
9.为按钮添加对话框
Button1.Attributes.Add("onclick","return confirm('确认?')");
button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}")
10.页面控件的引用
parent.document.all.名称.属性='值';
window.opener.document.getElementById("TextBox1").value = "想要传回父页面的值";
11.随机数产生
Random ro = new Random(System.Environment.TickCount);
12.textbox自动转换为大写
<asp:TextBox id="Account" runat="server" font-size="Small" autopostback="True" style="TEXT-TRANSFORM: uppercase" ......
13.正则表达式,只允许输入汉字,但允许汉字之间有空格,但如果空格未出现在两个汉字间,则是非法 。
var reg=/^[/u4e00-/u9fa5](/s*[/u4e00-/u9fa5])*$/;
或者/^[/u4e00-/u9fa5]+$/.test(val.replace(//s/g,""))
14.两个相同页面Session互相分开(Cache一样处理)
string pageguid = system.guid.pageguid;
Session[YourName+pageguid ] = object;//Cache[YourName+pageguid ] = object;
15.SqlServer查询保存为Excel表格
EXEC master..xp_cmdshell 'bcp "select customer from sf.dbo.tbl_customer" queryout "c:/test.xls" /c'
16.后台代码调用div
页面代码中定义div,作为服务器控件运行,ID:aaa

转贴地址:http://lqingtao.blog.163.com/blog/static/34192802008326101443169/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: