以下は JS コードです (オブジェクトをバインドするときに非常に洗練されていないように感じます。専門家にアドバイスをいただければ幸いです!)
function validator(obj,option){//Validation object
var self = this;
if(!(self instanceof validator))
return new validator(obj,option);
self.source={'mobile':'^(13|14|15|18)[0-9]{9}$','postcode':' ^\d {6}$','整数':'^-?\d*$','メール':'^\w ((-\w )|(\.\w ))*\@[A -Za- z0-9] ((\.|-)[A-Za-z0-9] )*\.[A-Za-z0-9] $','url':'^http[s]? :\/ \/([\w-] \.) [\w-] ([\w-./?%&=]*)?$'};
for(var i in self.source); {
if(i==option.type)
self.type=self.source[i];
self.tag=2;
self.input=obj; 🎜>self .options=option;
self.tip=document.getElementById(self.options.tips);
self.text=self.tip.innerHTML; 🎜>}
validator.prototype.init=function(o){
var self=this;
addEvent(o,'focus',function(){
self.focus();
} );
addEvent(o,'blur',function(){
self.valid();
});
}
validator.prototype.valid=function( ){
var self=this;
var reg=self.options.reg||self.type;
if(new RegExp(reg).test(self.input.value.replace(/s) /ig, ''))){
self.tip.className='validator_oncorrect';
self.tip.innerHTML='入力は正しい';
self.tag=1; else{
self.tip.className='validator_onerror';
self.tip.innerHTML='申し訳ありませんが、入力した内容はルールに準拠していません。 ';
self.tag=0;
}
}
validator.prototype.focus=function(){
this.tip.className='validator_onfocus'; tip.innerHTML=this.text;
}
function addEvent(el,type,fn){ //バインドイベント
if(el.attachEvent) {
el['e' type fn ] = fn; //ウィンドウの代わりに el オブジェクトを指すように、IE の下の要素参照をコピーします。
el[type fn] = function(){el['e' type fn](window.event);}
el.attachEvent('on' type, el[type fn]);
}else
el.addEventListener(type, fn, false);
// ページ呼び出しメソッド
var inputs=document.getElementsByTagName('input');//ここでの書き方は奇妙で洗練されていないように感じますが、最適化する方法はまだ見つかりません
var arr=[]; >arr[0]= validator(inputs[0],{type:'postcode',tips:'m1'});
arr[1]=validator(inputs[1],{type:'url',ヒント:'m2'} );
arr[2]=validator(inputs[2],{type:'email',tips:'m3'});
arr[3]=validator(inputs[ 3],{タイプ: 'モバイル',ヒント:'m4'});
arr[4]=validator(入力[4],{タイプ:'整数',ヒント:'m5',reg:'^ -?\d*$ '});
function submitForm(){//送信フォームのフィルタリング
var l=arr.length;
for(var i in arr){
if(arr) [i].tag= =1)
l--;
else if(arr[i].tag==2){
arr[i].valid();
}
if(l!=0)return false;
}
以下は、小さなアイコンが表示されていない可能性があります。実行可能コードを送信します。
コードをコピー
コードは次のとおりです:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31