杞夎嚜:http://lbyzx123.iteye.com/blog/1143556
鏂板緩涓涓枃浠訛紝鍦ㄦ枃浠跺唴鎻掑叆濡備笅鍐呭錛?
Ext.apply(Ext.form.field.VTypes,
{
//棣栧厛瀹氫箟涓涓獀type鍚嶇О錛屽拰浠栫殑楠岃瘉鍑芥暟錛寁al鍙傛暟鏄枃鏈鐨勫鹼紝field鏄枃鏈銆備竴鑸垜灝變嬌鐢╲al鍜屾鍒欒〃杈懼紡姣旇緝?yōu)O(jiān)K浜嗐?
//鐒跺悗瀹氫箟涓涓獀type鐨勬姤閿欎俊鎭紝涓巚type鍚嶇О鍔燭ext鍚庣紑銆侽K浜嗐?
passwd: function(val, field)
{
if (field.initialPassField)
{
var pwd = Ext.getCmp(field.initialPassField);
return (val == pwd.getValue());
}
return true;
},
passwdText: '涓ゆ杈撳叆鐨勫瘑鐮佷笉涓鑷達(dá)紒',
chinese:function(val,field)
{
var reg = /^[\u4e00-\u9fa5]+$/i;
if(!reg.test(val))
{
return false;
}
return true;
},
chineseText:'璇瘋緭鍏ヤ腑鏂?,
age:function(val,field)
{
try
{
if(parseInt(val) >= 18 && parseInt(val) <= 100)
return true;
return false;
}
catch(err)
{
return false;
}
},
ageText:'騫撮緞杈撳叆鏈夎',
alphanum:function(val,field)
{
try
{
if(!/\W/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
alphanumText:'璇瘋緭鍏ヨ嫳鏂囧瓧姣嶆垨鏄暟瀛?鍏跺畠瀛楃鏄笉鍏佽鐨?',
url:function(val,field)
{
try
{
if(/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
urlText:'璇瘋緭鍏ユ湁鏁堢殑URL鍦板潃.',
max:function(val,field)
{
try
{
if(parseFloat(val) <= parseFloat(field.max))
return true;
return false;
}
catch(e)
{
return false;
}
},
maxText:'瓚呰繃鏈澶у?,
min:function(val,field)
{
try
{
if(parseFloat(val) >= parseFloat(field.min))
return true;
return false;
}
catch(e)
{
return false;
}
},
minText:'灝忎簬鏈灝忓?,
datecn:function(val,field)
{
try
{
var regex = /^(\d{4})-(\d{2})-(\d{2})$/;
if(!regex.test(val)) return false;
var d = new Date(val.replace(regex, '$1/$2/$3'));
return (parseInt(RegExp.$2, 10) == (1+d.getMonth())) && (parseInt(RegExp.$3, 10) == d.getDate())&&(parseInt(RegExp.$1, 10) == d.getFullYear());
}
catch(e)
{
return false;
}
},
datecnText:'璇蜂嬌鐢ㄨ繖鏍風(fēng)殑鏃ユ湡鏍煎紡: yyyy-mm-dd. 渚嬪:2008-06-20.',
integer:function(val,field)
{
try
{
if(/^[-+]?[\d]+$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
integerText:'璇瘋緭鍏ユ紜殑鏁存暟',
minlength:function(val,field)
{
try
{
if(val.length >= parseInt(field.minlen))
return true;
return false
}
catch(e)
{
return false;
}
},
minlengthText:'闀垮害榪囧皬',
maxlength:function(val,field)
{
try
{
if(val.length <= parseInt(field.maxlen))
return true;
return false;
}
catch(e)
{
return false;
}
},
maxlengthText:'闀垮害榪囧ぇ',
ip:function(val,field)
{
try
{
if((/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(val)))
return true;
return false;
}
catch(e)
{
return false;
}
},
ipText:'璇瘋緭鍏ユ紜殑IP鍦板潃',
phone:function(val,field)
{
try
{
if(/^((0[1-9]{3})?(0[12][0-9])?[-])?\d{6,8}$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
phoneText:'璇瘋緭鍏ユ紜殑鐢?shù)璇濆忥L(fēng)爜,濡?0920-29392929',
mobilephone:function(val,field)
{
try
{
if(/(^0?[1][35][0-9]{9}$)/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
mobilephoneText:'璇瘋緭鍏ユ紜殑鎵嬫満鍙風(fēng)爜',
alpha:function(val,field)
{
try
{
if( /^[a-zA-Z]+$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
alphaText:'璇瘋緭鍏ヨ嫳鏂囧瓧姣?,
money:function(val,field)
{
try
{
if(/^\d+\.\d{2}$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
moneyText:'璇瘋緭鍏ユ紜殑閲戦'
});
鍦ㄩ〉闈㈠紩鍏ヤ笂闈㈡柊寤虹殑鏂囦歡錛屽湪鐩稿簲鐣岄潰鐨勭粍浠朵腑瀹氫箟vtype,鍗沖彲榪涜鏈夐檺楠岃瘉銆?
寮曠敤紺轟緥浠g爜錛?/strong>
//鏋勫緩涓涓瘑鐮丗orm
var pwd = new Ext.form.Panel({
labelWidth: 125,
frame: true,
title: '瀵嗙爜楠岃瘉妗?,
width: 350,
renderTo : 'pw',
allowDomMove : true,
draggable : true,
defaults: {
width: 175,
inputType: 'password'
},
defaultType: 'textfield',
items: [{
fieldLabel: '瀵嗙爜:',
name: 'pass',
id: 'pass'
},{
fieldLabel: '瀵嗙爜紜:',
name: 'pass-cfrm',
vtype: 'passwd',
initialPassField: 'pass'
}]
});
鍏朵腑錛宨nitialPassField鏄嚜瀹氫箟鐨勫睘鎬э紝璁板綍涓婁竴涓猵assword鐨刬d,鐒跺悗鍦╒Type鐨勯獙璇佸嚱鏁頒腑鍙栧嚭涓婁竴涓猵assword緇勪歡鐨勫鹼紝榪涜姣旇緝銆?/strong>
璁頒綇錛氫笂涓涓猵assword蹇呴』璁劇疆id灞炴с?/strong>

]]>