在ASP,ASP.NET裡輸入驗證要用到一些常用的驗證,比如姓名,E-MAIL,電話號碼等,我把常用的記錄下來,免得查起來不方便。
//校正是否全由數字組成
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 ;
}
}
網上好多驗證只能輸入漢字的函數,我試了一些,覺得這個很好用,在文字框裡不是漢字的就不能輸入上去,如果只是驗證姓名的話,還得限定字數,過濾掉特殊字元。
EG:
asp 中的用法:
<input name="UserNameCN" type="text" onKeyPress="onlychinese();">
今天有看到驗證中文的
1、判斷字串是否為連續的中文字元(不包含英文及其他任何符號和數字):
Regex.IsMatch("中文","^[\u4e00-\u9fa5]+$");
2、判斷字串是否為中文字串(僅不包含英文但可以包含其他符號及數字):
!Regex.IsMatch("中文",@"[a-zA-Z]");
這個很常見的。