解讀asp.net常用正則表達(dá)式_.Net教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:.net編程中常見錯(cuò)誤詳解1:command調(diào)用存儲過程的時(shí)候,如果輸出是dataset,selectcommand的command對象的connection先要指出,否則catch一輩子也是空的.. 2:存儲過程的varchar字段如果是x.x的這種格式,容易出現(xiàn)細(xì)微的傻錯(cuò)誤,注意不要漏了[]. 3:如果ascx文件的默認(rèn)服務(wù)器控件的事件不重
一、字段 表達(dá)式 格式示例 說明數(shù)字 ^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$ (425)-555-0123 425-555-0123 425 555 0123 驗(yàn)證美國電話號碼。
名稱 [a-zA-Z’`-´\s]{1,40} John DoeO’Dell 驗(yàn)證名稱。最多允許使用 40 個(gè)大寫字母和小寫字母,以及一些在名稱中常用的特殊字符。此列表可進(jìn)行調(diào)整。
電子郵件 \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* someone@example.com 驗(yàn)證電子郵件地址。
URL ^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\’/\\\+&%\$#\=~])*$ 驗(yàn)證 URL。
郵政編碼 ^(\d{5}-\d{4}|\d{5}|\d{9})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$ 驗(yàn)證允許使用 5 個(gè)或 9 個(gè)數(shù)字的美國郵政編碼。
密碼 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 驗(yàn)證強(qiáng)密碼。字符數(shù)必須在 8 至 10 的范圍內(nèi)。必須包含大小寫字母和數(shù)字的組合,不能使用特殊字符。
非負(fù)整數(shù) \d+ 0986 驗(yàn)證大于零的整數(shù)。
貨幣(非負(fù)數(shù))\d+(\.\d\d)? 驗(yàn)證正貨幣金額。要求小數(shù)點(diǎn)后有兩位數(shù)字。
貨幣(正數(shù)或負(fù)數(shù))(-)?\d+(\.\d\d)? 驗(yàn)證正負(fù)貨幣金額。要求小數(shù)點(diǎn)后有兩位數(shù)字。
利用正則表達(dá)式限制網(wǎng)頁表單里的文本框輸入內(nèi)容:
用正則表達(dá)式限制只能輸入中文:
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,’’)" onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\u4E00-\u9FA5]/g,’’))"
用正則表達(dá)式限制只能輸入全角字符:
onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,’’)" onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\uFF00-\uFFFF]/g,’’))"
用正則表達(dá)式限制只能輸入數(shù)字:onkeyup="value=value.replace(/[^\d]/g,’’) "onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))"
用正則表達(dá)式限制只能輸入數(shù)字和英文:
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>
數(shù)字,得分
<asp:RegularExpressionValidator Runat="server" ControlToValidate="P" ErrorMessage="數(shù)値" Display="Dynamic" ValidationExpression="^[1-9]\d*" ID="PInt" />
二、驗(yàn)證類
1、數(shù)字驗(yàn)證類
1.1 整數(shù)
/^(-│+)?d+$/ 不可以為空
/^[-+]?d*$/ 可以為空
1.2 大于0的整數(shù) (用于傳來的ID的驗(yàn)證)
/^d+$/
1.3 負(fù)整數(shù)的驗(yàn)證
/^-d+$/
1.4 整數(shù)不能大于iMax
根據(jù)上面的正則可以寫出。
1.5 整數(shù)不能小于iMin
根據(jù)上面的正則可以寫出。
2、時(shí)間類
2.1 短時(shí)間,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(d):(d)2:(d)$/);
if (a == null) {alert(’輸入的參數(shù)不是時(shí)間格式’); return false;}
if (a[1]>24 ││ a[3]>60 ││ a[4]>60)
{
alert("時(shí)間格式不對";
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 長時(shí)間,形如 (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 只有小時(shí)和分鐘,形如(12:03)
3、表單類
3.1 所有的表單的值都不能為空
<input onblur="if(this.value.replace(/^s+│s+$/g,’’)==’’)alert(’不能為空!’)">
3.2 多行文本框的值不能為空。
3.3 多行文本框的值不能超過sMaxStrleng
//檢驗(yàn)文本框中內(nèi)容是否超長
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 +"個(gè)字符,請重新輸入!";
document.forms[0].elements[val].focus();
document.forms[0].elements[val].select();
return false;
}
return true;
}
分享:Asp.net三層結(jié)構(gòu)中的變量引用與傳遞Asp.net的 三 層架構(gòu)主要是為了解決數(shù)據(jù)層,邏輯層,表示層等之間的關(guān)系。 我們的做法是這樣的:首先建立一個(gè)DataCore的基類。基類里面封裝了一些低層的數(shù)據(jù)庫的基本操作,比如說數(shù)據(jù)庫聯(lián)接,調(diào)用存儲過程等等。在這里面有一個(gè)地方值得注意,通過對一個(gè)函數(shù)
相關(guān).Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實(shí)現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 解析DataList如何實(shí)現(xiàn)“行轉(zhuǎn)列”代碼
- AJAX將成為移動(dòng)Web2.0時(shí)代首選開發(fā)平臺
- 三層+存儲過程實(shí)現(xiàn)分頁示例代碼
- 解析動(dòng)態(tài)生成DataTable代碼
- 解讀軟件編程的走火入魔
- Asp.net ajax實(shí)現(xiàn)任務(wù)提示頁面
- 注冊頁實(shí)現(xiàn)激活郵箱驗(yàn)證(asp.net c#)
- 基于C#的接口基礎(chǔ)教程之一
- ASP.NET筆記之 圖庫權(quán)限設(shè)置的方法
- ASP.NET 2.0中實(shí)現(xiàn)彈窗報(bào)警提示
- 相關(guān)鏈接:
- 教程說明:
.Net教程-解讀asp.net常用正則表達(dá)式。