解读asp.net常用正则表达式_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:.net编程中常见错误详解
1:command调用存储过程的时候,如果输出是dataset,selectcommand的command对象的connection先要指出,否则catch一辈子也是空的.. 2:存储过程的varchar字段如果是x.x的这种格式,容易出现细微的傻错误,注意不要漏了[]. 3:如果ascx文件的默认服务器控件的事件不重

一、字段         表达式                 格式示例             说明 

数字  ^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$ (425)-555-0123 425-555-0123 425 555 0123  验证美国电话号码。 

名称  [a-zA-Z’`-´\s]{1,40} John DoeO’Dell  验证名称。最多允许使用 40 个大写字母和小写字母,以及一些在名称中常用的特殊字符。此列表可进行调整。 
  
电子邮件 \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  someone@example.com  验证电子邮件地址。
 
URL ^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\’/\\\+&%\$#\=~])*$ 验证 URL。
 
邮政编码 ^(\d{5}-\d{4}|\d{5}|\d{9})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$ 验证允许使用 5 个或 9 个数字的美国邮政编码。
 
密码 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 验证强密码。字符数必须在 8 至 10 的范围内。必须包含大小写字母和数字的组合,不能使用特殊字符。
 
非负整数 \d+ 0986 验证大于零的整数。
 
货币(非负数)\d+(\.\d\d)? 验证正货币金额。要求小数点后有两位数字。
 
货币(正数或负数)(-)?\d+(\.\d\d)? 验证正负货币金额。要求小数点后有两位数字。
利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:
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,’’))" 

电话号码
<asp:RegularExpressionValidator id="Regex_Tel" runat="server" ControlToValidate="TEL" ValidationExpression="(\d\d{1,4}-|\(\d\d{1,4}\) ?)?\d{1,4}-\d{4}" ErrorMessage="Tel「XXX-XXX-XXXX」或者「XXX-XXXX-XXXX」" Display="Static">*</asp:RegularExpressionValidator>

日期

<asp:RangeValidator ID="Regx_DateE" Type="Date" MinimumValue="1960/01/01" MaximumValue="2050/01/01" ControlToValidate="DateE" Display="Static" Runat="server" ErrorMessage="请输入日期">*</asp:RangeValidator>

数字,得分

<asp:RegularExpressionValidator Runat="server" ControlToValidate="P" ErrorMessage="数値" Display="Dynamic" ValidationExpression="^[1-9]\d*" ID="PInt" />
二、验证类
1、数字验证类
1.1 整数
/^(-│+)?d+$/  不可以为空
/^[-+]?d*$/        可以为空
1.2 大于0的整数 (用于传来的ID的验证)
/^d+$/
1.3 负整数的验证
/^-d+$/
1.4 整数不能大于iMax
根据上面的正则可以写出。
1.5 整数不能小于iMin
根据上面的正则可以写出。
2、时间类
2.1 短时间,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(d):(d)2:(d)$/);
if (a == null) {alert(’输入的参数不是时间格式’); return false;}
if (a[1]>24 ││ a[3]>60 ││ a[4]>60)
{
alert("时间格式不对";
return false
}
return true;
}

2.2 短日期,形如 (2003-12-05)
function strDateTime(str)
{
var r = str.match(/^(d)(-│/)(d)2(-|/)(d)$/); 
if(r==null)return false; 
var d= new Date(r[1], r[3]-1, r[4]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}

2.3 长时间,形如 (2003-12-05 13:04:06)
function strDateTime(str)
{
var reg = /^(d)(-│/)(d)2(-|/)(d) (d):(d):(d)$/; 
var r = str.match(reg); 
if(r==null)return false; 
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}

2.4 只有年和月。形如(2003-05,或者2003-5)

2.5 只有小时和分钟,形如(12:03)
3、表单类
3.1 所有的表单的值都不能为空
<input onblur="if(this.value.replace(/^s+│s+$/g,’’)==’’)alert(’不能为空!’)">

3.2 多行文本框的值不能为空。
3.3 多行文本框的值不能超过sMaxStrleng
//检验文本框中内容是否超长
function CheckTextareaLength(val, max_length) {
var str_area=document.forms[0].elements[val].value;
if (str_area!=null&&str_area.length > max_length)
{
alert("字段文字超长,最多可输入" + max_length +"个字符,请重新输入!";
document.forms[0].elements[val].focus();
document.forms[0].elements[val].select();
return false;
}
return true;
}

分享:Asp.net三层结构中的变量引用与传递
Asp.net的 三 层架构主要是为了解决数据层,逻辑层,表示层等之间的关系。 我们的做法是这样的:首先建立一个DataCore的基类。基类里面封装了一些低层的数据库的基本操作,比如说数据库联接,调用存储过程等等。在这里面有一个地方值得注意,通过对一个函数

来源:模板无忧//所属分类:.Net教程/更新时间:2010-05-31
相关.Net教程