﻿//通过的限制字符输入，以正则表达式的方式处理
//例如：onkeyup="funcLimited(this,/[^\d,]/g);"限制只能输入数字和,号
//缺点：当编辑的时候，如果输入了其他字符，则光标定位到了最后
function funcLimited(obj,strp)
{
	var sp = strp;
	obj.value = obj.value.replace(sp,'')
}

//判断字符串中中文字符的个数
function funcChineseNumber(str) 
{ 
var obj=str.match(/[\u4e00-\u9fa5]/g) 
if(obj!=null) 
{ 
	return obj.length;
}
else
	return 0;
}

//可以用来控制用户只能输入数字
function numbercode()
{
  var k = window.event.keyCode;
  if (!(((k >= 48) && (k <=57)) || (k==13))){
     window.event.keyCode = 0 ;}
}

//可以用来控制用户只能输入数字和小数点
function numbercode_dot()
{
  var k = window.event.keyCode;
  if (!(((k >= 48) && (k <=57)) || (k==13) || (k==46))){
     window.event.keyCode = 0 ;}
}

//可以用来控制用户只能输入数字和-，适用于电话、传真
function funcTelephone()
{
  var k = window.event.keyCode;
  if (!(((k >= 48) && (k <=57)) || (k==13) || (k==45))){
     window.event.keyCode = 0 ;}
}

//检查手机号码有效性
function funcCheckMobile(str){
	if(str.length > 11){
		return false;
	}
	else{
    var t=/^(13\d{9})|(15\d{9})|(18\d{9})$/;
    return t.test(str);
   }
}

//判断输入的文本是否数字
function isNumeric( strVal ) {
	if(isNaN( strVal * 1)) return false;
	else return true;
}

//操作交易团下拉选择框与省市联动的函数开始
function setProvince(deleno){
	setProvCity("","");
	if(deleno=="460")	setProvCity("410","");
	if(deleno=="020")	setProvCity("020","");
	if(deleno=="030")	setProvCity("030","");
	if(deleno=="040")	setProvCity("040","");
	if(deleno=="060")	setProvCity("060","");
	if(deleno=="070")	setProvCity("060","06005");
	if(deleno=="080")	setProvCity("060","06004");
	if(deleno=="090")	setProvCity("090","");
	if(deleno=="310")	setProvCity("300","30006");
	if(deleno=="110")	setProvCity("110","");
	if(deleno=="120")	setProvCity("110","11003");
	if(deleno=="130")	setProvCity("130","");
	if(deleno=="140")	setProvCity("140","");
	if(deleno=="150")	setProvCity("140","14005");
	if(deleno=="160")	setProvCity("160","");
	if(deleno=="200")	setProvCity("200","");
	if(deleno=="010")	setProvCity("010","");
	if(deleno=="170")	setProvCity("160","16009");
	if(deleno=="180")	setProvCity("180","");
	if(deleno=="190")	setProvCity("190","");
	if(deleno=="210")	setProvCity("210","");
	if(deleno=="220")	setProvCity("210","21004");
	if(deleno=="230")	setProvCity("230","");
	if(deleno=="240")	setProvCity("240","");
	if(deleno=="250")	setProvCity("240","24003");
	if(deleno=="260")	setProvCity("260","");
	if(deleno=="270")	setProvCity("270","");
	if(deleno=="290")	setProvCity("290","");
	if(deleno=="300")	setProvCity("300","");
	if(deleno=="320")	setProvCity("320","");
	if(deleno=="330")	setProvCity("330","");
	if(deleno=="340")	setProvCity("340","");
	if(deleno=="350")	setProvCity("350","");
	if(deleno=="360")	setProvCity("360","");
	if(deleno=="370")	setProvCity("360","36005");
	if(deleno=="380")	setProvCity("380","");
	if(deleno=="390")	setProvCity("390","");
	if(deleno=="400")	setProvCity("400","");
	if(deleno=="410")	setProvCity("410","");
	if(deleno=="420")	setProvCity("421","");
	if(deleno=="490")	setProvCity("270","27010");
	if(deleno=="500")	setProvCity("190","19006");
	if(deleno=="271")	setProvCity("270","27009");
	if(deleno=="272")	setProvCity("270","27008");
	if(deleno=="280")	setProvCity("270","27005");
	if(deleno=="430")	setProvCity("160","16010");
	if(deleno=="440")	setProvCity("210","21005");
	if(deleno=="050")	setProvCity("050","");
	if(deleno=="100")	setProvCity("090","09007");
}
function setProvCity(provno,cityno){
	  //document.myform.provinceno.options.length = 1;
	  document.myform.cityno.options.length = 1;
		document.myform.provinceno.value = provno;
		document.myform.cityno.value = cityno;
}
//操作交易团下拉选择框与省市联动的函数结束

//限制输入框的字节输入长度开始//////////////////////////////////
/*
函数名称：limitLength(value, byteLength, title, attribute, spanid, lang)
作用：限制输入框的字节输入长度
value: 输入字符串；
byteLength：数据库字节长度；
title：字段中文名称；
attribute：属性名称；
spanid： 需要显示数字的span控件名称
lang：提示语言种类，“cn”代表中文，“en”代表英文

使用方法说明：
添加 （1） onkeyup="limitLength(this.value,100,'名称','name')"
     （2） id="name" 或【struts标签】styleId="name"
注意：id名称和 attribute属性名称要一样
例子：
<textarea  name="explain" id="explain" onkeyup="limitLength(value,5,'语义说明','explain','cn')" >   </textarea>
<input type="text" name="txt_explain"  id="txt_explain" onkeyup="limitLength(value,5,'explain','txt_explain','en')" >
*/

function limitLength(value, byteLength, title, attribute, spanid, lang) {
  var newvalue = value.replace(/[^\x00-\xff]/g, "**");
  var length = newvalue.length;

  //当填写的字节数小于设置的字节数
  if (length * 1 <=byteLength * 1){
    if(document.getElementById(spanid) == "[object]") document.getElementById(spanid).innerHTML = length;
    return;
  }

  var limitDate = newvalue.substr(0, byteLength);
  var count = 0;
  var limitvalue = "";
  for (var i = 0; i < limitDate.length; i++) {
    var flat = limitDate.substr(i, 1);
    if (flat == "*") {
      count++;
    }
  }
  var size = 0;
  var istar = newvalue.substr(byteLength * 1 - 1, 1);//校验点是否为“×”

  //if 基点是×; 判断在基点内有×为偶数还是奇数
  var numSpan;
  if (count % 2 == 0) {
    //当为偶数时
    size = count / 2 + (byteLength * 1 - count);
    limitvalue = value.substr(0, size);
    numSpan = byteLength;
  } else {
    //当为奇数时
    size = (count - 1) / 2 + (byteLength * 1 - count);
    limitvalue = value.substr(0, size);
    numSpan = byteLength - 1;
  }
  
  if(document.getElementById(spanid) == "[object]") document.getElementById(spanid).innerHTML = numSpan;
  
  if(lang=="cn")
    alert(title + "最大输入" + byteLength + "个字节（相当于"+byteLength /2+"个汉字）！");
  else
    alert("max byte of the field \"" + title + "\" is " + byteLength + "("+byteLength /2+" chinese charactor)");
  document.getElementById(attribute).value = limitvalue;
  return;
}
//限制输入框的字节输入长度结束//////////////////////////////////


//判断radio或checkbox是否有选择
function funcHaveCheck(objname,objtype)
{
	var objTemp = document.getElementsByName(objname);
	var flag=false;
	if(objTemp.length > 0)
	{
		for(i=0;i<objTemp.length;i++)
		{
			if(objtype=="checkbox")
			{
				if(objTemp[i].checked)
				{
					flag=true;
					break;
				}
			}
			
			if(objtype=="radio")
			{
				if(objTemp[i].checked)
				{
					flag=true;
					break;
				}
			}
		}
	}
	
	return flag;
}