
/*******************************
** 表单验证
使用说明:
在使用表单的页面填入如下script
<script language="JavaScript" type="text/javascript" src="../jslib/form.js">
</script>
<script language="JavaScript" type="text/JavaScript">
function checkForm(theForm) { //v2.0
  if (!checkNotNull(theForm.name,"姓名")) return false;
  if (!checkNumber(theForm.age,"年龄")) return false;
  ...
  return true;
}
</script>

注意:checkNumber(),checkLength()等方法并不检查是否为空

<FORM name="form1" acton="..." onSubmit="return checkForm(document.form1)">
...
<input type="submit" name="Submit" value="Submit">
</FORM>

********************************/

//检查checkbox是否选择一项
function check_checkbox(checkname){
			 var flag = false;
			 var checks = document.getElementsByName(checkname);
			 for(var i=0;i<checks.length;i++){
				 if(checks[i].checked==true){
					 flag = true;
					 return true;
					 break;
				 }
			 }
			 if(!flag){
			 alert("请至少选择一项");
			 return false;
			 }
		 }
// 是否为空，非空返回真，不非为空返回假
function isBlank(str) {
	var blankFlag = true;
	if (str.length == 0) {
		return true;
	}
	for (var i = 0; i < str.length; i++) {
		if ((str.charAt(i) != "") && (str.charAt(i) != " ")) {
			blankFlag = false;
			break;
		}
	}
	return blankFlag;
}
function checkNotNull(theField, fieldName) {
	if (isBlank(theField.value)) {
		alert(fieldName + "\u4e0d\u53ef\u4e3a\u7a7a\uff01");
		theField.focus();
		return false;
	}
	return true;
}

// 是否为数字
function checkNumber(theField, fieldName) {
	var pattern = /^([0-9]|(-[0-9]))[0-9]*((\.[0-9]+)|([0-9]*))$/;
	if (theField.value == "") {
		return true;
	}
	if (!pattern.test(theField.value)) {
		alert(fieldName + "\u5fc5\u987b\u4e3a\u5408\u6cd5\u6570\u5b57!");
		theField.focus();
		theField.select();
		return false;
	}
	return true;
}

// 是否为指定范围数字
function checkNumberRange(theField, fieldName, min, max) {
	if (theField.value == "") {
		return true;
	}
	if (!checkNumber(theField, fieldName)) {
		return false;
	}
	if ((min != "") && (theField.value < min)) {
		alert(fieldName + "\u4e0d\u53ef\u5c0f\u4e8e" + min + "\uff01");
		theField.focus();
		theField.select();
		return false;
	}
	if ((max != "") && (theField.value > max)) {
		alert(fieldName + "\u4e0d\u53ef\u8d85\u8fc7" + max + "\uff01");
		theField.focus();
		theField.select();
		return false;
	}
	return true;
}

// 是否为整数
function checkInteger(theField, fieldName) {
	var pattern = /^(\d|(-\d))\d*$/;
	if (theField.value == "") {
		return true;
	}
	if (!pattern.test(theField.value)) {
		alert(fieldName + "\u5fc5\u987b\u4e3a\u6574\u6570\uff01");
		theField.focus();
		theField.select();
		return false;
	}
	return true;
}

// 是否为指定范围内整数
function checkIntegerRange(theField, fieldName, min, max) {
	if (theField.value == "") {
		return true;
	}
	if (!checkInteger(theField, fieldName)) {
		return false;
	}
	if ((min != "") && (theField.value < min)) {
		alert(fieldName + "\u4e0d\u53ef\u5c0f\u4e8e" + min + "\uff01");
		theField.focus();
		theField.select();
		return false;
	}
	if ((max != "") && (theField.value > max)) {
		alert(fieldName + "\u4e0d\u53ef\u8d85\u8fc7" + max + "\uff01");
		theField.focus();
		theField.select();
		return false;
	}
	return true;
}

// 是否为正数
function checkPositiveNumber(theField, fieldName) {
	if (theField.value == "") {
		return true;
	}
	if (theField.value.charAt(0) == "-") {
		alert(fieldName + "\u5fc5\u987b\u4e3a\u6b63\u6570\uff01");
		theField.focus();
		return false;
	}
	return true;
}
//是否为0
function checkLargerThanZero(theField, fieldName) {
	if (checkPositiveNumber(theField, fieldName)) {
		if (theField.value == 0) {
			alert(fieldName + "\u5fc5\u987b\u4e3a\u6b63\u6570\uff01");
			theField.focus();
			return false;
		}
	} else {
		return false;
	}
	return true;
}


//是否为正整数
function checkPositiveNumbers(theField, fieldName) {
	if (theField.value == "") {
		return true;
	}
	if (theField.value.charAt(0) == "-" || theField.value.indexOf(".") != -1) {
		alert(fieldName + "\u5fc5\u987b\u4e3a\u6b63\u6574\u6570\uff01");
		theField.focus();
		return false;
	}
	return true;
}

// 限制字串最大长度
function checkLength(theField, fieldName, maxLength) {
	if (theField.value == "") {
		return true;
	}
	if (theField.value.length > maxLength) {
		alert(fieldName + "\u7684\u5b57\u6570\u6700\u591a\u4e3a" + maxLength + "\u5b57\uff01");
		theField.select();
		theField.focus();
		return false;
	}
	return true;
}

// 限制字串长度,注意参数顺序
function checkLength2(theField, fieldName, maxLength, minLength) {
	if (theField.value == "") {
		return true;
	}
	if (theField.value.length > maxLength) {
		alert(fieldName + "\u7684\u5b57\u6570\u6700\u591a\u4e3a" + maxLength + "\u5b57\uff01");
		theField.focus();
		return false;
	}
	if ((minLength != "") && (theField.value.length < minLength)) {
		alert(fieldName + "\u7684\u5b57\u6570\u6700\u5c11\u4e3a" + minLength + "\u5b57\uff01");
		theField.focus();
		return false;
	}
	return true;
}

// 所输入字符串是否均为合法字符
// charBag中为包含所有合法字符的字符串
function checkStrLegal(theField, fieldName, charBag) {
	if (theField.value == "") {
		return true;
	}
	for (var i = 0; i < theField.value.length; i++) {
		var c = theField.value.charAt(i);
		if (charBag.indexOf(c) == -1) {
			alert(fieldName + "\u542b\u6709\u975e\u6cd5\u5b57\u7b26(" + c + ")\uff01");
			theField.focus();
			return false;
		}
	}
	return true;
}

// 所输入字符串是否均为合法字符
// charBag中为包含非法字符的字符串
function checkStrLegal2(theField, fieldName, charBag) {
	if (theField.value == "") {
		return true;
	}
	for (var i = 0; i < theField.value.length; i++) {
		var c = theField.value.charAt(i);
		if (charBag.indexOf(c) > -1) {
			alert(fieldName + "\u542b\u6709\u975e\u6cd5\u5b57\u7b26(" + c + ")\uff01");
			theField.focus();
			return false;
		}
	}
	return true;
}

// 电子邮件验证
function checkEmail(theField) {
	var pattern = /^.+@.+\..+$/;
	if (theField.value == "") {
		return true;
	}
	if (!pattern.test(theField.value)) {
		alert("\u8bf7\u8f93\u5165\u5408\u6cd5\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740");
		theField.focus();
		theField.select();
		return false;
	}
	return true;
}

// 是否为只读域（如file，text等域只接受右边按钮选择传回的结果）
function checkReadField(obj) {
	var obj = eval(obj);
	obj.blur();
	alert("\u8bf7\u70b9\u51fb\u540e\u9762\u7684\u56fe\u6807\u8fdb\u884c\u9009\u62e9!");
}
//清空文本域
function reset() {
	var inputs = document.getElementsByTagName("input");
	for (var i = 0; i < inputs.length; i++) {
		if (inputs[i].type == "text") {
			inputs[i].value = "";
		}
	}
	inputs[0].focus();
}

//检查电话号码或者传真验证
function isTel(theField, fieldName) {
	var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
	if (theField.value!= "") {
		if (!reg.exec(theField.value)) {
			alert(fieldName+ "格式为国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)");
			theField.focus();
			return false;
		}
	}
	return true;
}

//移动电话号码验证
function isMobile(theField, fieldName) {
	 var reg=/^1[3,5,8]\d{9}$/;
	 if (theField.value!= "") {
	    if(!reg.exec(theField.value)){
	       alert(fieldName+ "号码格式不正确");
	       theField.focus();
	       return false;
	    }
	}
	return true;
}
//限定递交
function IsSubmit(fromname,fieldName){
	if(fieldName.value=="1"){
		fieldName.value="2";
		fromname.submit();
	}
}

//传递action递交表单
function IsSubmitaction(actionvalue){
	document.forms[0].action=actionvalue;
	document.forms[0].submit();
}

