﻿// JScript 文件
//合并测试


//现有对象功能扩展

String.prototype.trim=function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
;
String.prototype.ltrim=function(){
    return this.replace(/(^\s*)/g, "");
}
;
String.prototype.rtrim=function(){
    return this.replace(/(\s*$)/g, "");
}
;
String.prototype.cleanBlank=function(){
    return this.replace( /\s/g, "");
}
;
String.prototype.checkSpecialChar=function(flag){
    var reg=/[%\'\"\/\\]/;
    if( this.search( reg )!=-1){
        if(flag){
            alert( "请不要输入 ＂ % \' \" \\ \/ ＂ 等特殊字符。");
        }
        return false;
    }
    return true;
}
;
String.prototype.test=function(reg){
    if( this.search( reg )==-1){
        return false;
    }
    return true;
}
;
String.prototype.len=function(){
    var len=0;
    for (var i=0;
    i<this.length;
    i++){
        if (this.charCodeAt(i)>255){
            len+=2;
        }
        else{
            len++;
        }
    }
    return len;
}
;
String.prototype.html=function(){
    var html=this;
    html=html.replace( /</g,"&lt;");
    html=html.replace( />/g,"&gt;");
    return html;
};

String.prototype.IsSafeStr = function()
{    
    //[u4E00-u9FA5]為漢字﹐[uFE30-uFFA0]為全角符號  ^([\u4E00-\u9FA5]|\w)+$ 
    return /^([\u4E00-\u9FA5]|[0-9a-zA-Z])*$/.test(this);
};

String.prototype.IsEmail = function()    
{
    return /^[a-z0-9-_]+@[a-z0-9-_]+[.]{1}(com|net|bta|cn|org|edu|mil|com.cn|net.cn|edu.cn)+$/.test(this);  
};

String.Format = function() {
 
 if(arguments.length == 0)
  return "";
 
 if(arguments.length == 1)
  return arguments[0];
 
 var reg = /{(\d+)?}/g;
 var args = arguments;
 var result = arguments[0].replace(
  reg,
  function($0, $1) {
   return  args[parseInt($1)+1];
  }
 )

 return result;
};



Date.prototype.dateAdd=function(n){
    return new Date(this.valueOf()+n*3600*24*1000);
}

//---------------------------------------------------   
// 判断闰年   
//---------------------------------------------------   
Date.prototype.isLeapYear = function()    
{    
    return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));    
}  

//===========
// 通用函数
function myStrfunc()
{
	//
	this.copy=function(nam)
	{
		var obj=this.gObj(nam); 
		if (obj) { 
			obj.select();
			var js=obj.createTextRange();
			js.execCommand("Copy");
		}
	}

	this.cut=function(ob)
	{
		var obj=this.gObj(ob);
		if (obj) { 
			obj.select();
			var js=obj.createTextRange();
			js.execCommand("Cut");
		}
	}
	
	this.showTxtLen=function(ElementID,showElementID)
	{
		document.getElementById(showElementID).innerHTML=document.getElementById(ElementID).value.len();
	}
	
	this.Esc2Tab=function(evt)
	{
		evt = evt ? evt : (window.event ? window.event : null);
		if (evt.keyCode ==27) evt.keyCode =9;
	}
	
	 //校验用户输入卡号是否合法
	  this.isRegisterVipNo=function (s)   
	 {   
		 var patrn=/^[a-zA-Z]{1}([0-9]){11}$/;   
		 if (!patrn.exec(s)) return false  ;
		 return true  ;
	 }  
	  
	 //校验登录名：只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 
	this.isRegisterSalerCode = function (s) 
	{ 
		var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; 
		if (!patrn.exec(s)) return false ;
		return true ;
	} 
	
	//获取焦点后，光标移动到最后
	this.autoMoveFocusLast =  function (textid)     
	{     
	  var   e   =   $(textid);     
	  var   r   =e.createTextRange();     
	  r.moveStart('character',e.value.length);     
	  r.collapse(true);     
	  r.select();     
	} 
	
	//焦点移到指定位置
	this.MoveFocusToPositon =  function (textid,pos)     
	{     
	  var   e   =   $(textid); 
	  if(pos > $(textid).value.length)   pos =  $(textid).value.length;
	  var   r   =e.createTextRange();     
	  r.moveStart('character',pos);     
	  r.collapse(true);     
	  r.select();     
	  
	} 
	//获取焦点所在文本框的位置
	this.getTextFocusPosition =  function (textid)     
	{ 
		var nPos = 0; 
		var e   =   $(textid);   
		e.focus();   
		if (e.createTextRange) 
		{
			var curRange=document.selection.createRange();
			var fullRange = e.createTextRange();
			fullRange.collapse(true);  
			curRange.setEndPoint("StartToStart",fullRange);
			curRange.select(); 
			nPos = curRange.text.length;  
		} 
		//HX.MoveFocusToPositon(textid,nPos); 
		return nPos;
	}
	//截取字符串
	this.mySubStr = function(str,n)
	{
		 var r = /[^\x00-\xff]/g;
		 if(str.replace(r, "mm").length <= n) return str;
		 n = n - 3;
		 var m = Math.floor(n/2);
		 for(var i=m; i<str.length; i++)
		 {
		 if(str.substr(0, i).replace(r, "mm").length>=n)
		 {
		 return str.substr(0, i) +"...";
		 }
		 }
		 return str;
	} 
	//返回文件大小	
	this.convertFileSize = function(size)
	{
		if (size >= 1024 * 1024)
		{
			//以M为单位
			var dSize = size / (1024 * 1024);
			return dSize.toFixed(2) + "M";
		}
		else
		{
			//以K为单位
			var dSize = 0;
			if(size>0&&size<1024) 
			    dSize = 1;
			else
			  dSize= size / 1024;
			return dSize.toFixed(0) + "K";
		}
	}  
	//返回星级	
	this.getGoodsStar = function(s,lev)
	{
		if(lev==null)lev="";
		lev = lev + g_ImagesName;
		var n = Math.floor(s/10);
		var star="";
		for(var i=0;i<n;i++)
			star +="<img src=\""+lev+"/ico_xj.png\" />";
		
		if(s%10>0)star +="<img src=\""+lev+"/ico_xj01.png\" />";

		return star;
	} 
	//返回价格	
	this.getGoodsPrice = function(s,lev)
	{
		if(lev==null)lev="";
		lev = lev + g_ImagesName;
		s=parseInt(s)/100;
		var PriceImg ="<img src=\""+lev+"/jg/ico_"+s+".png\" />";
		return PriceImg;
	}
	//检测手机号合法性:必须为移动手机
	this.checkMobileNo = function (MobileNo) 
	{ 
		if (MobileNo != "") 
		{ 
			var reg=/^1(3|5|8)\d{9}$/; 
			if (reg.exec(MobileNo)) 
			{ 
				return true; 
			} 
		} 
		return false; 
	} 
	//转换订单状态标志
	this.getOrderSign = function(sign)
    {
        if(sign==1)
            return "已退单";
        else if(sign==2)
            return "已换单";
        else
            return "未操作";
        
    }       
};

var HX=new myStrfunc();
