//这有助于确保jQuery不会与其他库的$对象发生冲突。
//在运行这个函数后，就只能使用jQuery变量访问jQuery对象。例如，在要用到$("div p")的地方，就必须换成jQuery("div p")。
var JQ = jQuery.noConflict();
		
//得到与失去焦点		
JQ.fn.extend({
	focusInput:function(regexp,msg){
		//return this.each(function(){
			JQ(this).focus(function(){
				if(JQ(this).val()==JQ(this).get(0).defaultValue){
						JQ(this).val("");
				}	
			});
			JQ(this).blur(function(){
				if(!checkRegexp(JQ(this),regexp)){
					//JQ('<p></p>').html(msg).css('background','red').appendTo("body");
					alert(msg);
				}
				if(JQ(this).val()==""){
					JQ(this).val(JQ(this).get(0).defaultValue);
				}
			});	
		//})
	}
});

/*
例子:
	var nameReg = /^[a-z]([0-9a-z_])+$/i;
	var emailReg = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;
	var pwdReg = /^([0-9a-zA-Z])+$/;
	
	var nameMsg = "Username may consist of a-z, 0-9, underscores, begin with a letter.";
	var emailMsg = "format :eg. ui@jquery.com";
	var pwdMsg = "Password field only allow : a-z 0-9";
	JQ(function(){
			JQ("#name").focusInput(nameReg,nameMsg);
			JQ("#email").focusInput(emailReg,emailMsg);
			JQ("#password").focusInput(pwdReg,pwdMsg);
		})	
*/

//匹配正则表达式
function checkRegexp(o,regexp) {
	if ( !( regexp.test( o.val() ) ) ) {
		//o.addClass('ui-state-error');
		return false;
	} else {
		return true;
	}

}

//数字判断
isNumber = function (e) {  
    if (JQ.browser.msie) {  
        if ( ((event.keyCode > 47) && (event.keyCode < 58)) ) {  
            return true;  
        } else {  
            return false;  
        }  
    } else {  
        if ( ((e.which > 47) && (e.which < 58)) ) {  
            return true;  
        } else {  
            return false;  
        }  
    }  
}  
//例子:<input type="text" onkeypress="javascript:return isNumber(event);"/> 



//浮点判断
isFloat = function (e,v) {  
    if (JQ.browser.msie) {  
        if ( ((event.keyCode > 47) && (event.keyCode < 58)) || (event.keyCode == 46)) {  
        		if(event.keyCode == 46 && v.indexOf('.') != -1){
	            return false;  
        		}else{
        			return true;
	          }
        } else {  
            return false;  
        }  
    } else {  
        if ( ((e.which > 47) && (e.which < 58)) || (e.which == 46)) {  
        		if(e.which == 46 && v.indexOf('.') != -1){
	            return false;  
        		}else{
        			return true;
	          }
        } else {  
            return false;  
        }  
    }  
} 
//例子:<input type="text" onkeypress="javascript:return isFloat(event,this.value);"/> 