﻿// 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.len=function()
{
		return this.replace(/[^\x00-\xff]/g, "**").length;
}


//*******************************************************
//  Function Name keydown_enter(evt)
//  Summary       ：回车键代替Tab键
//  Parameter     ：
//     Input Parameter
//       Nonexistence
//     Out Parameter
//       Nonexistence
//  Return        ： 
//  Author        ：S.M  2003.5
//  Update Date   ：
//*******************************************************
function keydown_enter(evt)
{
	if (evt.keyCode==13)
	{
		window.event.keyCode=9
	}
}
	
//验证信息;
//空字符值; 
function isEmpty(s){
	s = s.trim(); 
	return s.length == 0; 
}
//Email;
function isEmail(s){
	//s = s.trim(); //wjy1221修改
 	var p = /^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i;
 	return p.test(s);
}
//数字; 
function isNumber(s){
	return !isNaN(s); 
}
//颜色值; 
function isColor(s){ 
	s = s.trim(); 
	if (s.length !=7) return false; 
	return s.search(/\#[a-fA-F0-9]{6}/) != -1; 
}
//手机号码; 
function isMobile(s){ 
	//s = s.trim(); 
	var p = /^\d{11,12}$/;
	return p.test(s);
}

function isPhone1(s){
	var Letters = "0123456789()+-";

  	for (i=0; i< s.length; i++)
	{
		var CheckChar = s.charAt(i);
     		if (Letters.indexOf(CheckChar) >= 0)
		{
       			return true;
      		}
    	}
	return false;

}

//身份证;
function isCard(s){ 
	s = s.trim(); 
	var p = /^\d{15}(\d{2}[xX0-9])?$/; 
	return p.test(s);
}

//是否合法评论
function isValidContent(s)
{
    if(isContainPhone(s))
    {
        return false;
    }    
    /*
    if(isContainQQ(s))
    {
        return false;
    }
    */
    if(isContainUrl(s))
    {
        return false;
    }
    
    if(isWeb(s))
    {
        return false;
    }
    return true;
}

//URL;
function isURL(s){
	s = s.trim().toLowerCase(); 
 	var p = /^[_\.0-9a-z-]+.([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i;
 	return p.test(s);
}

function isWeb(s){
	s = s.trim().toLowerCase();
	if(s.indexOf("http") >= 0)
	{
            return true;
	}
	if(s.indexOf(".com") >= 0)
	{
            return true;
	}
	if(s.indexOf(".cn") >= 0)
	{
            return true;
	}
	if(s.indexOf(".net") >= 0)
	{
            return true;
	}
	if(s.indexOf(".gov") >= 0)
	{
            return true;
	}
	if(s.indexOf(".mil") >= 0)
	{
            return true;
	}
	if(s.indexOf(".org") >= 0)
	{
            return true;
	}
	if(s.indexOf(".cc") >= 0)
	{
            return true;
	}
	if(s.indexOf(".edu") >= 0)
	{
            return true;
	}
	if(s.indexOf(".biz") >= 0)
	{
            return true;
	}
	if(s.indexOf(".int") >= 0)
	{
            return true;
	}
	if(s.indexOf(".tv") >= 0)
	{
            return true;
	}
	if(s.indexOf("www.") >= 0)
	{
            return true;
	}
	if(s.indexOf("bbs.") >= 0)
	{
            return true;
	}

	return false;
}

//Phone;
function isPhone(s){
	var p = /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/;
	return p.test(s.trim());
}
//Phone;排除7~8位的号码
function isPhoneNew(s){
	var p = /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)[1-9]\d{6,7}$$/;
	return p.test(s.trim());
}
//Zip;
function isZip(s){
	s = s.trim();
	var p = /^[1-9]\d{5}$/;
	return p.test(s);
}
//Double;
function isDouble(s){
	s = s.trim();
	var p = /^[-\+]?\d+(\.\d+)?$/;
	return p.test(s);
}
//date;
function isDate(s){
	s = s.trim();
	var p = /^\d{4}[.|-]\d{2}[.|-]\d{2}$/;
	return p.test(s);
}
//Integer;
function isInteger(s){
	s = s.trim();
	var p = /^[-\+]?\d+$/;
	return p.test(s);
}
//English;
function isEnglish(s){
	s = s.trim();
	var p = /^[A-Za-z]+$/;
	return p.test(s);
}
//中文;
function isChinese(s){
	var p = /^[\u0391-\uFFE5]+$/;
	return p.test(s.trim());
}
//双字节
function isDoubleChar(s){
	var p = /^[^\x00-\xff]+$/;
	return p.test(s);
}
//含有中文字符
function hasChineseChar(s){
	var p = /[^\x00-\xff]/;
	return p.test(s);
}
function hasAccountChar(s){
	var p = /^[^%?&:,'$\|\s]{0,40}$/;
	return p.test(s);
}
function limitLen(s,Min,Max){
	s=s.trim();
	if(s=="") return false;
	var slength=getLen(s);
	if((slength<Min)||(slength>Max)){
		return false;}
	else{
		return true;
		}
}

function inputMoney()
{
	if (event.keyCode!=46 && (event.keyCode<48 || event.keyCode>57)) 
		event.returnValue=false
}

function inputFloat()
{
	if (event.keyCode!=46 && (event.keyCode<48 || event.keyCode>57)) 
		event.returnValue=false
}

function CheckCard(str)
{
	str = str.trim();
	var p = /^([A-Za-z0-9,]|[-])+$/;
	return p.test(str);
}
function CheckQQ(str)
{
    var patrn=/^[1-9][0-9]{4,}$/;
	if (!patrn.exec(str))  return false  
	return true 
}

//格式化数字显示方式，也可以用于对数字重定精度。
/*
测试
alert(formatNumber(0,''));
alert(formatNumber(12432.21,'#,###'));
alert(formatNumber(12432.21,'#,###.000#'));
alert(formatNumber(12432,'#,###.00'));
alert(formatNumber('12432.415','#,###.0#'));
*/
function formatNumber(number,pattern){
    var str            = number.toString();
    var strInt;
    var strFloat;
    var formatInt;
    var formatFloat;
    if(/\./g.test(pattern)){
        formatInt        = pattern.split('.')[0];
        formatFloat        = pattern.split('.')[1];
    }else{
        formatInt        = pattern;
        formatFloat        = null;
    }

    if(/\./g.test(str)){
        if(formatFloat!=null){
            var tempFloat    = Math.round(parseFloat('0.'+str.split('.')[1])*Math.pow(10,formatFloat.length))/Math.pow(10,formatFloat.length);
            strInt        = (Math.floor(number)+Math.floor(tempFloat)).toString();                
            strFloat    = /\./g.test(tempFloat.toString())?tempFloat.toString().split('.')[1]:'0';            
        }else{
            strInt        = Math.round(number).toString();
            strFloat    = '0';
        }
    }else{
        strInt        = str;
        strFloat    = '0';
    }
    if(formatInt!=null){
        var outputInt    = '';
        var zero        = formatInt.match(/0*$/)[0].length;
        var comma        = null;
        if(/,/g.test(formatInt)){
            comma        = formatInt.match(/,[^,]*/)[0].length-1;
        }
        var newReg        = new RegExp('(\\d{'+comma+'})','g');

        if(strInt.length<zero){
            outputInt        = new Array(zero+1).join('0')+strInt;
            outputInt        = outputInt.substr(outputInt.length-zero,zero)
        }else{
            outputInt        = strInt;
        }

        var 
        outputInt            = outputInt.substr(0,outputInt.length%comma)+outputInt.substring(outputInt.length%comma).replace(newReg,(comma!=null?',':'')+'$1')
        outputInt            = outputInt.replace(/^,/,'');

        strInt    = outputInt;
    }

    if(formatFloat!=null){
        var outputFloat    = '';
        var zero        = formatFloat.match(/^0*/)[0].length;

        if(strFloat.length<zero){
            outputFloat        = strFloat+new Array(zero+1).join('0');
            //outputFloat        = outputFloat.substring(0,formatFloat.length);
            var outputFloat1    = outputFloat.substring(0,zero);
            var outputFloat2    = outputFloat.substring(zero,formatFloat.length);
            outputFloat        = outputFloat1+outputFloat2.replace(/0*$/,'');
        }else{
            outputFloat        = strFloat.substring(0,formatFloat.length);
        }

        strFloat    = outputFloat;
    }else{
        if(pattern!='' || (pattern=='' && strFloat=='0')){
            strFloat    = '';
        }
    }

    return strInt+(strFloat==''?'':'.'+strFloat);
}

function isContainUrl(s)
{
    var reg = new RegExp("(\.(\s+)?)(COM|CN|NET|ORG|COM\.CN).*", "");
    return reg.test(s.toUpperCase());
}

function isContainQQ(s)
{
    var reg = new RegExp("(Q(\\s+)?Q)|(Ｑ(\\s+)?Ｑ)|(Ｑ(\\s+)?Q)|(Q(\\s+)?Ｑ)","");
    return reg.test(s.toUpperCase());
}

function isContainPhone(s)
{
	//var p = /((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}/g;
	var p = /\d{6,15}/g;
    return p.test(s.trim());
}


 //游览器兼容复制操作  
    function copy(copy)
    { 
        if (window.clipboardData)
        { 
            window.clipboardData.setData("Text", copy);
        } 
        else if (window.netscape)
        { 
            try { 
                netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); 
            } 
            catch (e) 
            { 
                alert("被浏览器拒绝！\n请在浏览器地址栏输入\"about:config\"并回车\n然后将\"signed.applets.codebase_principal_support\"设置为\"true\""); 
                return;
            }           
            var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
            if (!clip) return; 
            var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
            if (!trans) return;
            trans.addDataFlavor('text/unicode'); 
            var str = new Object(); 
            var len = new Object(); 
            var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
            var copytext=copy; 
            str.data=copytext; 
            trans.setTransferData("text/unicode",str,copytext.length*2); 
            var clipid=Components.interfaces.nsIClipboard; 
            if (!clip) return false; 
            clip.setData(trans,null,clipid.kGlobalClipboard);
        } 
        alert("已复制到剪贴板");
         
     } 
     
     
//隐藏下拉控件
 function HiddenSelects(d)
 {
    var colSelects = document.getElementsByTagName('SELECT');

    for(var i=0; i<colSelects.length; i++)
    {
      colSelects[i].style.visibility = d;
    }
 }  