??xml version="1.0" encoding="utf-8" standalone="yes"?> cd定义: 一、整?int) 二、Q点型(float) 三、字W串(string) 十、字W型(char) 四、日?date) 五、邮?email) 六、单?radio) 七、复?checkbox) 八、下拉列表框(select) 九、列表框(list) var es; //错误个数 function addMsg(obj, msg, type) { function insertAfter(parent, node, referenceNode) { function prependChild(parent, node) { function checkForm(thisform) //数 //字符?br>case "string": //字符?br>case "char": //q䆾 //日期 //邮g //单选按?br>case "radio": } /*if (sfz.value.length<=0) { /***查是否ؓ整数***/ /***查是否ؓ数***/ /***查是否ؓ字符?**/ /***查是否ؓ字符?**/ } /***查是否ؓq䆾格式***/ /***查是否ؓ日期格式***/ //alert(convertNullToSpace(ele.objName)+"应该于{于"+document.getElementById(parm1).objName); } /***查日?是否大于日期2***/ /***查日?是否于日期2***/ /***查是否ؓ电子邮箱***/ } if(ele.mustSelect!=null && ele.mustSelect) } /***查复选按钮是否需要选择***/ } /***查下拉列表框是否需要选择***/ } } /******************************************************************** function CheckIdCard(CardNo,Sex,Birthday){ //alert(Sex+"14="+CardNo.charAt(14)%2); function isNumber(str) function strrq10to8(str)
//
// File: form.htc
// version: 1.0
// Description:客户端表单验?
// author: 伍子
// ModifyBy: Arsene
//
//-------------------------------------------------------------------- -->
/**
表单定义:
<form name="form1" action="" style="behavior:url('form.htc')"></form>
客户端表单验证是p单的onSubmit事g触发Q由于表单的onSubmit事g只能由提交按钮触?
所以如果要用函数提交表单form1.submit(),则必d时执行form1.onSubmit()?/p>
定义:
valueType="int"
属?
objName 对象名称(字符?
mustInput 必输?true/false)
minInput 最?数字)
maxInput 最大?数字)
举例:
<input type="text" name="test" valueType="int" objName="总蝲重吨" mustInput="true" maxInput="10000">
定义:
valueType="float"
属?
objName 对象名称(字符?
mustInput 必输?true/false)
minInput 最?数字)
maxInput 最大?数字)
decimalLen数位数(数字)
举例:
<input type="text" name="test" valueType="float" objName="qh" mustInput="true" maxInput="10000.50" decimalLen="2">
定义:
valueType="string"
属?
objName 对象名称(字符?
mustInput 必输?true/false)
stringLen 字符串长?数字)
举例:
<input type="text" name="test" valueType="string" objName="英文船名" mustInput="true" stringLen="100">
定义:
valueType="char"
属?
objName 对象名称(字符?
mustInput 必输?true/false)
charsLen 字符串长?数字)
举例:
<input type="text" name="test" valueType="char" objName="爱好" mustInput="true" charsLen="5">
定义:
valueType="date"
属?
objName 对象名称(字符?
mustInput 必输?true/false)
举例:
<input type="text" name="test" valueType="date" objName="开始日? mustInput="true" before="ddd,ccc,sss" after="aa">
备注:
日期现在只能校验的格式ؓ(yyyy-mm-dd)
定义:
valueType="email"
属?
objName 对象名称(字符?
mustInput 必输?true/false)
举例:
<input type="text" name="test" valueType="email" objName="邮箱" mustInput="true">
定义:
valueType="radio"
属?
objName 对象名称(字符?
mustSelect 必输?true/false)
举例:
<input type="radio" name="test" valueType="radio" objName="U船方式" mustSelect="true">
备注:
对于同一l单选按钮,只需要定义第一个即可?/p>
定义:
valueType="checkbox"
属?
objName 对象名称(字符?
minSelect 最选择?数字)
maxSelect 最大选择?数字)
举例:
<input type="checkbox" name="test" valueType="checkbox" objName="爱好" minSelect="2" maxSelect="5">
备注:
对于同一l复选按钮,只需要定义第一个即可?/p>
定义:
valueType="select"
属?
objName 对象名称(字符?
mustSelect 必输?true/false)
举例:
<select name="test" valueType="select" objName="U船方式" mustSelect="true">
定义:
valueType="list"
属?
objName 对象名称(字符?
minSelect 最选择?数字)
maxSelect 最大选择?数字)
举例:
<select name="test" valueType="list" objName="爱好" minSelect="2" maxSelect="5">
**/
var msg; //错误消息
if (type=="radio" || type=="checkbox") {
var warning = document.getElementById("warning");
if (msg != "") {
es = es + 1;
warning.parentNode.parentNode.style.display = '';
//var alarm = document.createElement("<img name=alarm src=./img/alarm.gif hspace=8 height=16 width=16>")
//var warningMsg = document.createElement("<span style='color: #FF0000;font-weight: bold;'>"+msg+"</span>")
if (!warning.hasChildNodes()) {
warning.innerHTML = "<img name=alarm src=./img/alarm.gif hspace=8 height=16 width=16>" +
"<span style='color: #FF0000;font-weight: bold;'>"+msg+"</span>";
}
//insertAfter(obj.parentNode, alarm, obj);
} else {
warning.parentNode.parentNode.style.display = 'none';
//if (hasAlarm(obj)) obj.parentNode.removeChild(obj.nextSibling);
if (warning.hasChildNodes()) {
warning.innerHTML = "";
}
}
} else {
if (msg != "") {
//alert(obj.name);
//alert(obj.parentNode.title);
es = es + 1;
obj.parentNode.title = msg;
var alarm = document.createElement("<img name=alarm src=./img/alarm.gif hspace=8 height=16 width=16>")
if (!(hasAlarm(obj))) insertAfter(obj.parentNode, alarm, obj);
//alert(es);
} else {
//alert(obj.name);
obj.parentNode.title = "";
//alert(obj.parentNode.title);
if (hasAlarm(obj)) obj.parentNode.removeChild(obj.nextSibling);
}
}
}
parent.insertBefore(node, referenceNode.nextSibling);
}
parent.insertBefore(node, parent.firstChild);
}
//判断obj下一个节点nodeName是否为IMG,而且name为alarm
function hasAlarm(obj) {
var x = obj.nextSibling;
if (x != null) {
if (x.nodeName == "IMG" && x.name == "alarm") {
return true;
} else {
return false;
}
} else {
return false;
}
}
//判断msg是否为空,如果不ؓI?则添?and
function formcheck_delNull(message) {
var s = message;
if (s != "") {
s = s + "\n";
}
return s;
}
{
es = 0; //初始化错误个?br>//var oForm=event.srcElement;
var oForm=thisform;
var eles = oForm.elements;
//遍历所有表元素
for(var i=0;i<eles.length;i++)
{
msg = ""; //清空msg
//是否需要验?br>var sType=eles[i].valueType;
if(sType)
{
if(eles[i].mustInput!=null && eles[i].mustInput)
{
if(trim(eles[i].value)=="")
{
if(eles[i].objName!=null)
{
//alert(eles[i].objName+"不可以ؓI?);
//addMsg(eles[i], eles[i].objName+"不可以ؓI?);
msg = formcheck_delNull(msg) + eles[i].objName+"不可以ؓI?;
}
else
{
//alert("该文本框为必输字D?);
//addMsg(eles[i], "该文本框为必输字D?);
msg = formcheck_delNull(msg) + "该文本框为必输字D?;
}
} else {
//delMsg(eles[i]);
//alert(es);
}
}
switch(sType)
{
//整数
case "int":
checkInt(eles[i]);
break;
case "float":
checkFloat(eles[i]);
break;
checkString(eles[i]);
break;
checkChar(eles[i]);
break;
case "year":
checkYear(eles[i]);
break;
case "date":
checkDate(eles[i]);
break;
case "email":
checkEmail(eles[i]);
break;
checkRadio(eles[i]);
break;
//复选按?br>case "checkbox":
checkBox(eles[i]);
break;
//下拉列表?br>case "select":
checkSelect(eles[i]);
break;
//列表?br>case "list":
checkList(eles[i]);
break;
} else {
//非需要校验类?则不q行error的检?br> continue;
}
addMsg(eles[i], msg, sType);
}
//w䆾证相x?br>var sfz = oForm.sfz;
var csrq= oForm.csrq;
var sex = oForm.sex;
//var sfzmsg;
/*if(sfz==null||csrq==null||sex==null){
if (es > 0) {
event.returnValue=false;
return false;
} else {
event.returnValue=true;
return true;
}
}*/
if (sfz!=null && csrq!=null && sex!=null) {
if(sfz.value.length>0) {
if(sfz.value.length>0&&csrq.value.length>0&&sex.value.length>0){
/*if(!CheckIdCard(sfz.value,sex.value,strrq10to8(csrq.value))){
addMsg(sfz, msg, "char");
} else {
addMsg(sfz, msg,)
}*/
CheckIdCard(sfz.value,sex.value,strrq10to8(csrq.value));
addMsg(sfz, msg, "char");
} else {
var sfzmsg = "׃以下原因Qn份证验证p|Q?;
if (sfz.value.length <=0) {
msg = formcheck_delNull(msg) + "w䆾证号码不能ؓI?;
}
if (csrq.value.length <=0) {
msg = formcheck_delNull(msg) + "出生日期不能为空";
}
if (sex.value.length <=0) {
msg = formcheck_delNull(msg) + "性别不能为空";
}
addMsg(sfz, sfzmsg+msg, "char");
}
}
}
sfzmsg = "w䆾证验证失败,w䆾证号码不能ؓI?;
addMsg(sfz, sfzmsg, "char");
} else if (csrq.value.length<=0) {
sfzmsg = formcheck_delNull(sfzmsg) + "w䆾证验证失败,出生日期不能为空";
addMsg(sfz, sfzmsg, "char");
} else if (sex.value.length<=0) {
sfzmsg = formcheck_delNull(sfzmsg) + "w䆾证验证失败,性别不能为空";
addMsg(sfz, sfzmsg, "char");
if (es > 0) {
event.returnValue=false;
return false;
} else {
event.returnValue=true;
return true;
}
} else {
if(!CheckIdCard(sfz.value,sex.value,strrq10to8(csrq.value))){
addMsg(sfz, msg, "char");
if (es > 0) {
event.returnValue=false;
return false;
} else {
event.returnValue=true;
return true;
}
}
}*/
//alert(es);
if (es > 0) {
event.returnValue=false;
alert("h查数据录入是否正、完整。\n(Ʋ知详情Lȝ色叉叉处?");
return false;
} else {
event.returnValue=true;
return true;
}
}
function checkInt(ele)
{
if(!isInt(ele.value))
{
//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应为整?);
//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应为整?);
//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应为整?;
msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应为整?;
}
else
{
//delMsg(ele);
if(ele.maxInput!=null && !isNaN(ele.maxInput))
if(parseInt(ele.maxInput)<parseInt(ele.value))
{
//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应该小?+ele.maxInput);
//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应该小?+ele.maxInput);
//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应该小?+ele.maxInput;
msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应该小?+ele.maxInput;
}
if(ele.minInput!=null && !isNaN(ele.minInput))
if(parseInt(ele.minInput)>parseInt(ele.value))
{
//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应该大?+ele.minInput);
//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应该大?+ele.minInput);
//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应该大?+ele.minInput;
msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应该大?+ele.minInput;
}
}
}
function checkFloat(ele)
{
if(isNaN(ele.value))
{
//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应为整数或数");
//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应为整数或数");
//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应为整数或数";
msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应为整数或数";
}
else
{
if(ele.decimalLen!=null && !checkDecimal(ele.value,ele.decimalLen))
{
//alert("您输入的"+convertNullToSpace(ele.objName)+"值小C最多ؓ"+ele.decimalLen);
//addMsg(ele, "您输入的"+convertNullToSpace(ele.objName)+"值小C最多ؓ"+ele.decimalLen);
//msg = msg + "您输入的"+convertNullToSpace(ele.objName)+"值小C最多ؓ"+ele.decimalLen;
msg = formcheck_delNull(msg) + "您输入的"+convertNullToSpace(ele.objName)+"值小C最多ؓ"+ele.decimalLen;
}
if(ele.maxInput!=null && !isNaN(ele.maxInput))
if(parseInt(ele.maxInput)<parseInt(ele.value))
{
//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应该小?+ele.maxInput);
//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应该小?+ele.maxInput);
//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应该小?+ele.maxInput;
msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应该小?+ele.maxInput;
}
if(ele.minInput!=null && !isNaN(ele.minInput))
if(parseInt(ele.minInput)>parseInt(ele.value))
{
//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应该大?+ele.minInput);
//add(msg, "您输入的"+ convertNullToSpace(ele.objName)+"值应该大?+ele.minInput);
//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应该大?+ele.minInput;
msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应该大?+ele.minInput;
}
}
}
function checkString(ele)
{
if(ele.stringLen!=null && !isNaN(ele.stringLen))
{
var value=new String(ele.value);
if(value.length>parseInt(ele.stringLen))
{
//alert("您输入的"+convertNullToSpace(ele.objName)+"最大长度ؓ"+ele.stringLen);
//addMsg(ele, "您输入的"+convertNullToSpace(ele.objName)+"最大长度ؓ"+ele.stringLen);
//msg = msg + "您输入的"+convertNullToSpace(ele.objName)+"最大长度ؓ"+ele.stringLen;
msg = formcheck_delNull(msg) + "您输入的"+convertNullToSpace(ele.objName)+"最大长度ؓ"+ele.stringLen;
}
}
}
function checkChar(ele)
{
if(ele.charLen!=null && !isNaN(ele.charLen))
{
var value=new String(ele.value);
if(value.length>parseInt(ele.charLen))
{
//alert("您输入的"+convertNullToSpace(ele.objName)+"最大长度ؓ"+ele.charLen);
msg = formcheck_delNull(msg) + "您输入的"+convertNullToSpace(ele.objName)+"最大长度ؓ"+ele.charLen;
}
//字母数字
var patrn=/^[a-zA-Z0-9]+[a-zA-Z0-9]$/;
if (value.length>0&&!patrn.exec(value)){
//alert("您输入的"+convertNullToSpace(ele.objName)+"字符应ؓ字母或数?);
msg = formcheck_delNull(msg) + "您输入的"+convertNullToSpace(ele.objName)+"字符应ؓ字母或数?;
}
}
function checkYear(ele) {
if(ele.mustInput!=null && ele.mustInput && !isYear(ele.value)) {
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"误入有效年?yyyy)";
}
var parm1 = ele.before;
var parm2 = ele.after;
//在设|年份之?br> if(parm1!=null){
var mb=new Array();
mb = parm1.split(",");
for(var ii=0;ii<mb.length;ii++){
//当前校验控g?br> var rqz1 = ele.value;
//讄目标控g?br> var d = new Date();
var rqz2 = d.getFullYear();
if(mb[ii]!="today"){
rqz2 = eval("document.all."+mb[ii]).value;
}
if(parseInt(rqz1) <= parseInt(rqz2)){
//return true;
if (ele.minSpan!=null && !isNaN(ele.minSpan)) {
if (parseInt(rqz1) > parseInt(rqz2) - parseInt(ele.minSpan)) {
if(mb[ii]!="today"){
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"?+eval("document.all."+mb[ii]).objName+"的时间跨度应该大于等?+ele.minSpan;
}else{
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与当前年份的旉跨度应该大于{于"+ele.minSpan;
}
}
}
if (ele.maxSpan!=null && !isNaN(ele.maxSpan)) {
if (parseInt(rqz1) < parseInt(rqz2) - parseInt(ele.maxSpan)) {
if(mb[ii]!="today"){
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"?+eval("document.all."+mb[ii]).objName+"的时间跨度应该小于等?+ele.maxSpan;
}else{
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与当前年份的旉跨度应该于{于"+ele.maxSpan;
}
}
}
}else{
if(mb[ii]!="today"){
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该于"+eval("document.all."+mb[ii]).objName;
}else{
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该于当前q䆾";
}
}
}
}
//在设|年份后
if(parm2!=null){
var mb=new Array();
mb = parm2.split(",");
for(var ii=0;ii<mb.length;ii++){
//当前校验控g?br> var rqz1 = ele.value;
//讄目标控g?br> var d = new Date();
var rqz2 = d.getFullYear();
if(mb[ii]!="today"){
rqz2 = eval("document.all."+mb[ii]).value;
}
if(parseInt(rqz1) >= parseInt(rqz2)){
//return true;
if (ele.minSpan!=null && !isNaN(ele.minSpan)) {
if (parseInt(rqz1) < parseInt(rqz2) + parseInt(ele.minSpan)) {
if(mb[ii]!="today"){
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"?+eval("document.all."+mb[ii]).objName+"的时间跨度应该大于等?+ele.minSpan;
}else{
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与当前年份的旉跨度应该大于{于"+ele.minSpan;
}
}
}
if (ele.maxSpan!=null && !isNaN(ele.maxSpan)) {
if (parseInt(rqz1) > parseInt(rqz2) + parseInt(ele.maxSpan)) {
if(mb[ii]!="today"){
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"?+eval("document.all."+mb[ii]).objName+"的时间跨度应该小于等?+ele.maxSpan;
}else{
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与当前年份的旉跨度应该于{于"+ele.maxSpan;
}
}
}
}else{
if(mb[ii]!="today"){
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该大于"+eval("document.all."+mb[ii]).objName;
}else{
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该大于当前日期";
}
}
}
}
}
function checkDate(ele)
{
if(ele.mustInput!=null && ele.mustInput&&!isDate(ele.value))
{
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"误入有效日?yyyy-mm-dd)";
}
if(ele.value!=null&&ele.value!=""&&!isDate(ele.value))
{
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"误入有效日?yyyy-mm-dd)";
}
var parm1 = ele.before;
var parm2 = ele.after;
//在设|日期之?br>if(parm1!=null){
var mb=new Array();
mb = parm1.split(",");
for(var ii=0;ii<mb.length;ii++){
//当前校验控g?br> var rqz1 = ele.value;
//讄目标控g?br> var d = new Date();
var rqz2 = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();
if(mb[ii]!="today"){
rqz2 = eval("document.all."+mb[ii]).value;
}
/*if(rqz1==""){
//return true;
if (msg != "") {
addMsg(ele, msg);
return false;
} else { return true; }
}*/
if(chkBefore(rqz1,rqz2)==true){
//return true;
}else{
if(mb[ii]!="today"){
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该于{于"+eval("document.all."+mb[ii]).objName;
}else{
//alert(convertNullToSpace(ele.objName)+"应该于{于当前日期");
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该于{于当前日期";
}
}
}
}
//在设|日期之?br>if(parm2!=null){
var mb=new Array();
mb = parm2.split(",");
for(var ii=0;ii<mb.length;ii++){
//当前校验控g?br> var rqz1 = ele.value;
//讄目标控g?br> var d = new Date();
var rqz2 = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();
if(mb[ii]!="today"){
rqz2 = eval("document.all."+mb[ii]).value;
}
/*if(rqz1==""){
//return true;
if (msg != "") {
addMsg(ele, msg);
return false;
} else { return true; }
}*/
if(chkAfter(rqz1,rqz2)==true){
//return true;
}else{
if(mb[ii]!="today"){
//alert(convertNullToSpace(ele.objName)+"应该大于"+document.getElementById(parm2).objName);
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该大于"+eval("document.all."+mb[ii]).objName;
}else{
//alert(convertNullToSpace(ele.objName)+"应该大于当前日期");
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该大于当前日期";
}
}
}
}
function chkBefore(rqz1,rqz2){
if (rqz1=="" || rqz2=="") { return true;}
var arr1 = rqz1.split("-");
var arr2 = rqz2.split("-");
var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
if(arr1[1].length == 1)
arr1[1] = "0" + arr1[1];
if(arr1[2].length == 1)
arr1[2] = "0" + arr1[2];
if(arr2[1].length == 1)
arr2[1] = "0" + arr2[1];
if(arr2[2].length == 1)
arr2[2]="0" + arr2[2];
var d1 = arr1[0] + arr1[1] + arr1[2];
var d2 = arr2[0] + arr2[1] + arr2[2];
if(parseInt(d1,10) <= parseInt(d2,10)){
return true;
}else{
return false;
}
}
function chkAfter(rqz1,rqz2){
if (rqz1=="" || rqz2=="") { return true;}
var arr1 = rqz1.split("-");
var arr2 = rqz2.split("-");
var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
if(arr1[1].length == 1)
arr1[1] = "0" + arr1[1];
if(arr1[2].length == 1)
arr1[2] = "0" + arr1[2];
if(arr2[1].length == 1)
arr2[1] = "0" + arr2[1];
if(arr2[2].length == 1)
arr2[2]="0" + arr2[2];
var d1 = arr1[0] + arr1[1] + arr1[2];
var d2 = arr2[0] + arr2[1] + arr2[2];
if(parseInt(d1,10) > parseInt(d2,10)){
return true;
}else{
return false;
}
}
function checkEmail(ele)
{
if(ele.value.length>0&&!isEmail(ele.value))
{
//alert("误入有效邮?);
//addMsg(ele, "误入有效邮?);
msg = formcheck_delNull(msg) + "误入有效邮?;
}
/***查单选按钮是否需要选择***/
function checkRadio(ele)
{
//var rads = document.getElementsByName(ele.name);
//eval("var rads="+name+"."+ele.name);
eval("var rads=document.all."+ele.name);
var selectCount=0;
for(var i=0;i<rads.length;i++)
{
if(rads[i].checked)
{
selectCount++;
}
}
{
if(selectCount==0)
{
//alert("请选择"+convertNullToSpace(ele.objName));
//addMsg(ele, "请选择"+convertNullToSpace(ele.objName));
msg = formcheck_delNull(msg) + "请选择"+convertNullToSpace(ele.objName);
}
}
function checkBox(ele)
{
//var rads = document.getElementsByName(ele.name);
//alert(ele.name);
//eval("var chks="+name+"."+ele.name);
eval("var chks=document.all."+ele.name);
var selectCount=0;
for(var i=0;i<chks.length;i++)
{
if(chks[i].checked)
{
selectCount++;
}
}
if(ele.minSelect!=null && !isNaN(ele.minSelect))
{
if(selectCount<parseInt(ele.minSelect))
{
//alert(convertNullToSpace(ele.objName)+"臛_选择"+ele.minSelect+"?);
//addMsg(ele, convertNullToSpace(ele.objName)+"臛_选择"+ele.minSelect+"?);
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"臛_选择"+ele.minSelect+"?;
}
}
if(ele.maxSelect!=null && !isNaN(ele.maxSelect))
{
if(selectCount>parseInt(ele.maxSelect))
{
//alert(convertNullToSpace(ele.objName)+"臛_选择"+ele.maxSelect+"?);
//addMsg(ele, convertNullToSpace(ele.objName)+"臛_选择"+ele.maxSelect+"?);
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"臛_选择"+ele.maxSelect+"?;
}
}
function checkSelect(ele)
{
//var rads = document.getElementsByName(ele.name);
if(ele.mustSelect!=null && ele.mustSelect)
{
//if(ele.selectedIndex==0)
if(ele.value=="")
{
//alert("请选择"+convertNullToSpace(ele.objName));
//addMsg(ele, "请选择"+convertNullToSpace(ele.objName));
msg = formcheck_delNull(msg) + "请选择"+convertNullToSpace(ele.objName);
}
}
/***查列表框的选择Ҏ***/
function checkList(ele)
{
//var rads = document.getElementsByName(ele.name);
var selectCount=0;
for(var i=0;i<ele.options.length;i++)
{
if(ele.options[i].selected)
{
selectCount++;
}
}
//alert(selectCount);
if(ele.minSelect!=null && !isNaN(ele.minSelect))
{
if(selectCount<parseInt(ele.minSelect))
{
//alert(convertNullToSpace(ele.objName)+"臛_选择"+ele.minSelect+"?);
//addMsg(ele, convertNullToSpace(ele.objName)+"臛_选择"+ele.minSelect+"?);
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"臛_选择"+ele.minSelect+"?;
}
}
if(ele.maxSelect!=null && !isNaN(ele.maxSelect))
{
if(selectCount>parseInt(ele.maxSelect))
{
//alert(convertNullToSpace(ele.objName)+"臛_选择"+ele.maxSelect+"?);
msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"臛_选择"+ele.maxSelect+"?;
}
}
/***判断是否为整?**/
function isInt(s)
{
var patrn=/^[-,+]{0,1}[0-9]{0,}$/;
if (!patrn.exec(s))
return false;
return true;
}
/***判断是否为数?**/
function isNumber(s)
{
var patrn=/^[-,+]{0,1}[0-9]{0,}[.]{0,1}[0-9]{0,}$/;
if (!patrn.exec(s))
return false;
return true;
}
/***判断是否为日?**/
function isDate(str)
{
//var str = ele.value;
//var year, month, day;
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)
{
return false;
}
var d= new Date(r[1], r[3]-1, r[4]);
/*year = r[1];
month = r[3];
day = r[4];*/
if(!(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]))
{
return false;
}
/*if (parseInt(r[3], 10) < 10) month = "0" + parseInt(month, 10);
if (parseInt(r[4], 10) < 10) day = "0" + parseInt(day, 10);
if (parseInt(r[3], 10) < 10 || parseInt(r[4], 10) < 10) ele.value = year + "-" + month + "-" + day;*/
return true;
}
/***判断是否为年?**/
function isYear(s)
{
var patrn=/^[-,+]{0,1}[0-9]{0,}[.]{0,1}[0-9]{0,}$/;
if (!patrn.exec(s) || s.length != 4) {
//alert("11");
return false;
} else {
//alert("22");
return true;
}
}
/***判断是否为邮?**/
function isEmail(str)
{
if(str.match(/[\w-]+@{1}[\w-]+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig)!=str)
return false;
else
return true;
}
/***NULL转化为空|用于昄对象名称***/
function convertNullToSpace(paramValue)
{
if(paramValue==null)
return "";
else
return paramValue;
}
/***查小C?**/
function checkDecimal(num,decimalLen)
{
var len = decimalLen*1+1;
if(num.indexOf('.')>0)
{
num=num.substr(num.indexOf('.')+1,num.length-1);
if ((num.length)<len)
{
return true;
}
else
{
return false;
}
}
return true;
}
/***去除I格***/
function trim(str)
{
if (str.length > 0)
{
while ((str.substring(0,1) == " ") && (str.length > 0))
{
str = str.substring(1,str.length);
}
while (str.substring(str.length-1,str.length) == " ")
{
str = str.substring(0,str.length-1);
}
}
return str;
}
用户w䆾证进行初校验
实现功能Q?br>Q?5位的月校验,日校验,性别校验Q?5位下的年不需要进行校验)
Q?8位的q校验,月校验,日校验,性别校验Q末位国家校验码校验
Q、选择性的校验w䆾证是否和资料中性别匚wQ参C的性别留空Q即不校?br>Q、选择性的校验w䆾证是否和资料中的出生q月匚wQ参C的生日留I,即不校验
************************************************************************/
//性别 1Q男 0Q女
//生日 19811010
if ((CardNo == "")||(!(isNumber(CardNo))&&(CardNo.length == 15))||(!(isNumber(CardNo.substr(0,17)))&&(CardNo.length == 18))||((CardNo.length != 15)&&(CardNo.length != 18)))
{
//alert("您的w䆾证号码输入有误,必需?5数字?8?请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您的w䆾证号码输入有误,必需?5数字?8?请重新检查ƈ输入!";
}
else if (CardNo.length == 15)
{
if(CardNo.substr(8,2)>12||CardNo.substr(8,2)<1)
{
//alert("您n份证的出?#8220;?#8221;输入有误,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的出?#8220;?#8221;输入有误,请重新检查ƈ输入!";
}
if(CardNo.substr(10,2)>31||CardNo.substr(10,2)<1)
{
//alert("您n份证的出?#8220;?#8221;输入有误,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的出?#8220;?#8221;输入有误,请重新检查ƈ输入!";
}
if(Birthday!=""&&("19" + CardNo.substr(6,6))!=Birthday)
{
//alert("您n份证的生日和资料里的生日不符,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的生日和资料里的生日不符,请重新检查ƈ输入!";
}
if(Sex=="?&&CardNo.charAt(14)%2!=1)
{
//alert("您n份证的性别和资料里的性别不符,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的性别和资料里的性别不符,请重新检查ƈ输入!";
}
if(Sex=="?&&CardNo.charAt(14)%2!=0)
{
//alert("您n份证的性别和资料里的性别不符,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的性别和资料里的性别不符,请重新检查ƈ输入!";
}
//return true;
}
else if (CardNo.length == 18)
{
if(CardNo.substr(6,4)<1900||CardNo.substr(6,4)>2100)
{
//alert("您n份证的出?#8220;q?#8221;输入有误,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的出?#8220;q?#8221;输入有误,请重新检查ƈ输入!";
}
if(CardNo.substr(10,2)>12||CardNo.substr(10,2)<1)
{
//alert("您n份证的出?#8220;?#8221;输入有误,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的出?#8220;?#8221;输入有误,请重新检查ƈ输入!";
}
if(CardNo.substr(12,2)>31||CardNo.substr(12,2)<1)
{
//alert("您n份证的出?#8220;?#8221;输入有误,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的出?#8220;?#8221;输入有误,请重新检查ƈ输入!";
}
if(Birthday!=""&&CardNo.substr(6,8)!=Birthday)
{
//alert("您n份证的生日和资料里的生日不符,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的生日和资料里的生日不符,请重新检查ƈ输入!";
}
//alert(Sex+"18="+CardNo.substr(16));
if(Sex=="?&&CardNo.charAt(16)%2!=1)//h校?br> {
//alert("您n份证的性别和资料里的性别不符,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的性别和资料里的性别不符,请重新检查ƈ输入!";
}
if(Sex=="?&&CardNo.charAt(16)%2!=0)//x校?br> {
//alert("您n份证的性别和资料里的性别不符,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您n份证的性别和资料里的性别不符,请重新检查ƈ输入!";
}
var Wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var Ai = new Array('1','0','X','9','8','7','6','5','4','3','2');
if (CardNo.charAt(17) == 'x')
{
CardNo = CardNo.replace("x","X");
}
var checkDigit = CardNo.charAt(17);
var cardNoSum = 0;
for (var i=0; i<CardNo.length-1; i++)
{
cardNoSum = cardNoSum + CardNo.charAt(i)*Wi[i];
}
var seq = cardNoSum%11;
var getCheckDigit = Ai[seq];
if (checkDigit != getCheckDigit)
{
//alert("您的w䆾证号码校验失败,请重新检查ƈ输入!");
//return false;
msg = formcheck_delNull(msg) + "您的w䆾证号码校验失败,请重新检查ƈ输入!";
}
//return true;
}
/*else
{
return true;
}*/
}
{
if(str==null || str=="") return false ;
for(var i=0 ;i<str.length ;i++)
{
var cI = str.charAt(i) ;
if(cI<'0' || cI>'9') return false ;
}
return true;
}
{
var strs = str.split("-");
var str = strs[0]+strs[1]+strs[2];
return str;
}
]]>
Obj.option[Obj.selectedIndex].value
如何用Javascript的内|函数把以逗号分开的字W串转化成一个数l。然后输出数l?nbsp;
<script>
str="a,b,c"
arr=str.split(",");
for(i=0;i<arr.length;i++)alert(i+":"+arr[i])
</script>
如何用自己写的函数把以逗号分开的字W串转化成一个数l。然后输出数l?nbsp;
<script>
str="o,m,n"
arr=split2(str);
for(i=0;i<arr.length;i++)alert(i+":"+arr[i])
function split2(tmp){
return tmp.match(/([^,]+)/g)
}
</script>
Example:
<html>
<head>
<title></title>
<script language="javascript">
function Add(objA,objB)
{
var tem=new Array();
with(objA)
for(i=length-1;i>=0;i--)
if(options[i].selected){tem[tem.length]=new Option(options[i].text,options[i].value);}
if(objA.selectedIndex>-1)
{
for(i=0;i<objB.length;i++) tem[tem.length]=objB.options[i];
with(objB)
{
length=0;
tem.sort(sortArr);
for(i=0;i<tem.length;i++) options[length]=new Option(tem[i].text,tem[i].value)
}
}
}
function sortArr(a,b)
{
if(a.text>b.text)return 1;
if(a.text<b.text)return -1;
return 0;
}
//
//
function up(obj)
{
var objO = new Option(obj.options[obj.selectedIndex].text,obj.options[obj.selectedIndex].value);
var selectedIndex = obj.selectedIndex;
if(selectedIndex>0)
{
obj.options[selectedIndex].text = obj.options[selectedIndex-1].text;
obj.options[selectedIndex].value = obj.options[selectedIndex-1].value;
obj.options[selectedIndex-1].text = objO.text;
obj.options[selectedIndex-1].value = objO.value;
obj.selectedIndex = selectedIndex-1;
}
}
//
//
function down(obj)
{
var objO = new Option(obj.options[obj.selectedIndex].text,obj.options[obj.selectedIndex].value);
var selectedIndex = obj.selectedIndex;
if(selectedIndex<obj.options.length-1)
{
obj.options[selectedIndex].text = obj.options[selectedIndex+1].text;
obj.options[selectedIndex].value = obj.options[selectedIndex+1].value;
obj.options[selectedIndex+1].text = objO.text;
obj.options[selectedIndex+1].value = objO.value;
obj.selectedIndex = selectedIndex+1;
}
}
//
// 双击时添加到b
function dba(objA,objB)
{
var objO=new Option(objA.options[objA.selectedIndex].text,objA.options[objA.selectedIndex].value)
objB.add(objO);
}
//
// 双击时删除b
function dbb(obj)
{
obj.removeChild(obj.options[obj.selectedIndex]);
}
//
// 删除b中选中的项
function del(obj)
{
for(var i=obj.options.length-1;i>=0;i--)
{
if(obj.options[i].selected)
{
obj.removeChild(obj.options[i]);
}
}
}
//
//
function getvalue(obj)
{
var str="";
for(var i=0;i<obj.options.length;i++)
{
if(str.length>0)
str = str + "," + obj.options[i].value;
else
str = obj.options[i].value;
}
document.getElementById("selectValue").innerText = str;
}
//
</script>
</head>
<body bgcolor="#CCCCCC">
<table cellspacing="0" cellpadding="0" width="448" border="0">
<tr>
<td width="45%" align="center">
<select style="width: 155px" multiple size="15" name="a" ondblclick="dba(this,document.getElementById('b'))">
<option value="av1" title="av1">at1</option>
<option value="av2" title="av2" style="background-color:#999999">at2</option>
<option value="av3" title="av3">at3</option>
<option value="av4" title="av4">at4</option>
<option value="av5" title="av5">at5</option>
<option value="av6" title="av6">at6</option>
<option value="av7" title="av7">at7</option>
</select>
</td>
<td>
<input onClick="Add(document.getElementById('a'),document.getElementById('b'))" type="button"
value=">>" style="width: 40px">
<br>
<input onClick="del(document.getElementById('b'))" type="button" value="Del" style="width: 40px">
<br>
<input onClick="up(document.getElementById('b'))" type="button" value="b↑" style="width: 40px">
<br>
<input onClick="down(document.getElementById('b'))" type="button" value="b↓" style="width: 40px">
</td>
<td width="45%" align="center">
<select style="width: 155px" multiple size="15" name="b" ondblclick="dbb(this)">
<option value="bv1">bt1</option>
<option value="bv2">bt2</option>
<option value="bv3">bt3</option>
<option value="bv4">bt4</option>
<option value="bv5">bt5</option>
<option value="bv6">bt6</option>
<option value="bv7">bt7</option>
<option value="bv8">bt8</option>
</select>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="button" name="button1" value="获得双select? onClick="getvalue(document.getElementById('b'))"></td>
</tr>
<tr>
<td colspan="3" align="center">
<div id="selectValue">
</div>
</td>
</tr>
</table>
</body>
</html>
http://www.blueidea.com/tech/web/2006/4032.asp
========struts========
========hibernate======
========spring========
========tapestry=======
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Date;
public class Waper {
public Waper(){
}
/**
* 本方法用于将FORM对象l装成一条INSERT语句
* @param obj ActionForm 以及其子对象
* @param formPath ActionForm 以及其子对象的包路径和名U?br> * @param tableName 所要操作的数据?br> * @return q回相应的INSERT语句
*/
public String insert(Object obj,String formPath,String tableName){
long start = new Date().getTime();
String sqlToVar = "insert into "+tableName+"(";
String sqlToValues = " ) values(";
Class $fj = null;
try {
$fj = Class.forName(formPath);//example "chs.jhsyss.form.FJhsyss"
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Class clazz = obj.getClass();
Method[] method = clazz.getDeclaredMethods();
for(int i=0;i<method.length;i++){
String methodName = method[i].getName();
if(methodName.indexOf("get")<0){
continue;// 除去非getҎ
}else{
try {
Method m = $fj.getMethod(methodName, null);//Ҏ指定的方法名取得相应Ҏ
String $methodName = methodName.toLowerCase().substring(3,methodName.length());//裁剪getXXX?/p>
法取得相应变量名U?br> try {
String result = (String) m.invoke(obj, null);//调用ҎQ前一个参C表传q来的FORM?/p>
象,后一个ؓ传递给Ҏ的参敎ͼq回l果为原来方法相应的q回?br> sqlToVar+=$methodName+",";
sqlToValues+="'"+result+"',";
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
sqlToVar=sqlToVar.substring(0,sqlToVar.length()-1);
sqlToValues=sqlToValues.substring(0,sqlToValues.length()-1)+")";
long end = new Date().getTime();
System.out.println("插入操作pL?>"+(end-start)+"<-ms");
System.out.println(sqlToVar+sqlToValues);
return sqlToVar+sqlToValues;
}
public String update(Object obj,String formPath,String xh,String tableName){
long start = new Date().getTime();
String sqlToVar = "update "+tableName+" set ";
Class $clazz = null;
try{
$clazz = Class.forName(formPath);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
Class clazz = obj.getClass();
Method[] method = clazz.getDeclaredMethods();
for(int i = 0;i<method.length;i++){
String methodName = method[i].getName();
if(methodName.indexOf("get")<0){
continue;// 除去非getҎ
}else{
try {
Method m = $clazz.getMethod(methodName, null);
String $methodName = methodName.toLowerCase().substring(3,methodName.length());//裁剪
getXXXҎ取得相应变量名称
String result = (String) m.invoke(obj, null);
sqlToVar+=$methodName+"='"+result+"',";
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//Ҏ指定的方法名取得相应Ҏ
catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
sqlToVar=sqlToVar.substring(0,sqlToVar.length()-1)+" where xh="+xh;
long end = new Date().getTime();
System.out.println("更性操作花ҎL?>"+(end-start)+"<-ms");
System.out.println("SQL->"+sqlToVar);
return sqlToVar;
}
public static void main(String[] args){
FJhsyss fj = new FJhsyss();
fj.setBcrq("20050202");
fj.setDwfzr("fafa");
fj.setGnjygr("fafa");
fj.setGnjyls("2000");
fj.setXh("seq_hqjc_jhsyss,");
String seq = "seq_hqjc_jhsyss.nextval";
String path = "chs.jhsyss.form.FJhsyss";
Waper r = new Waper();
r.insert(fj,path,"MYTABLE");
r.update(fj, path, "1", "mytable");
}
}
import java.lang.reflect.Field;
import java.sql.Date;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Vector;
import java.sql.ResultSet;
/**
* BEAN 适用c?通过数据库结果集包装一个POJO,对它q行赋?br> * 适用于非使用ORM框架的Y?br> */
public class BeanWaper {
//传入的POJO对象参数
private Object obj;
//数据库结果集
ResultSet result;
//保存Field集合信息
private Map fields = new HashMap();
//预存储数据类?br> private Map propertyType = new HashMap();
public BeanWaper(Object user,ResultSet result){
System.out.println("ABC");
this.obj = user;
this.result = result;
//基本常用数据cd 可能不完?br> propertyType.put("int", Integer.valueOf(0));
propertyType.put("long", Integer.valueOf(1));
propertyType.put("String", Integer.valueOf(2));
propertyType.put("byte", Integer.valueOf(3));
propertyType.put("Date", Integer.valueOf(4));
propertyType.put("double", Integer.valueOf(5));
//补充 ?getDataBaseTypeValue(arg1,arg2,arg3)
//propertyType.put("**", Integer.valueOf(6));
//propertyType.put("**", Integer.valueOf(7));
}
/**
* @see 装对象的字D名U和数据cd对象,供数据库取值时使用
* @return
*/
public Map getPropertyNamesAndType(){
Field[] classFields = getFields();
for(int flag = 0; flag < classFields.length; flag++ ){
fields.put(getPropertyName(classFields[flag]),getPropertyType(classFields[flag]));
}
System.out.println("1.Fields信息:"+"\n"+fields.toString());
return fields;
}
/**
* @see 获取所有字D늚?br> * @return
*/
public Field[] getFields(){
System.out.println("2.获取声明了的Fields信息"+"\n"+obj.getClass().getDeclaredFields().toString());
return obj.getClass().getDeclaredFields();
}
/**
* @see 获取指定字段域的数据cd
* @param field指定字段?br> * @return
*/
public String getPropertyType(Field field){
StringSpilt spilt = new StringSpilt();
String[] values = spilt.split(field.getType().toString(), ".");
String propertyType = spilt.getLastString(values);
System.out.println("3.获取属性类型信?"+"\n"+propertyType);
return propertyType;
}
/**
* @see 通过传入属性数据类?名称,l果?通过匚w从结果集中取出相应数?br> * @param type
* @param name
* @param result
* @return
* @throws NumberFormatException
* @throws SQLException
*/
public Object getDataBaseTypeValue(String type,String name,ResultSet result) throws NumberFormatException, SQLException{
Object obj = null;
int flag = ((Integer)propertyType.get(type)).intValue();
switch(flag){
case 0 : obj = Integer.valueOf(result.getInt(name)); break;
case 1 : obj = Long.valueOf(result.getLong(name)); break;
case 2 : obj = String.valueOf(result.getString(name)); break;
case 3 : obj = Byte.valueOf(result.getByte(name)); break;
case 4 : obj = (Date)result.getDate(name); break;
case 5 : obj = Double.valueOf(result.getDouble(name)); break;
//补充
//case 6 : obj = String.valueOf(result.getString(name)); break;
}
System.out.println("4.打印获取的数据库g?"+"\n"+obj);
return obj;
}
/**
* @see 讄指定的BEANcȝ?br> * @param clazz
* @param value
* @param field
*/
public void setValue(Object clazz, Object value,Field field){
try {
field.set(clazz, value);
} catch (IllegalArgumentException e) {
e.printStackTrace();
System.out.println("5.打印异常信息如下:"+"\n"+e);
} catch (IllegalAccessException e) {
e.printStackTrace();
System.out.println("6.打印异常信息如下:"+"\n"+e);
}
}
/**
* @see 包装指定的BEANc?l果Z入的BEAN拥有设定的?br> * @param result
* @throws NumberFormatException
* @throws SQLException
*/
public void waperBean(ResultSet result) throws NumberFormatException, SQLException{
Map names_types = getPropertyNamesAndType();
Set keys = names_types.keySet();
Iterator ite = keys.iterator();
while(ite.hasNext()){
String name = (String) ite.next();
String type = (String) names_types.get(name);
Field field = null;
try {
field = obj.getClass().getDeclaredField(name);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("7.打印异常信息如下:"+"\n"+e);
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("8.打印异常信息如下:"+"\n"+e);
}
setValue(obj,getDataBaseTypeValue(type,name,result),field);
}
}
//获取属性名U?br> public String getPropertyName(Field field){
return field.getName();
}
/**
* 内部c?nbsp; 字符串分割类
*/
public class StringSpilt {
/**
*
* 分割字符Ԍ原理Q检字W串中的分割字符Ԍ然后取子?br> *
* @param original 需要分割的字符?br> *
* @paran regex 分割字符?br> *
* @return 分割后生成的字符串数l?br> *
*/
public String[] split(String original,String regex)
{
// 取子串的起始位置
int startIndex = 0;
// 结果数据先攑օVector?nbsp;
Vector v = new Vector();
// q回的结果字W串数组
String[] str = null;
// 存储取子串时起始位置
int index = 0;
// 获得匚w子串的位|?nbsp;
startIndex = original.indexOf(regex);
// System.out.println("0" + startIndex);
// 如果起始字符串的位置于字符串的长度Q则证明没有取到字符串末?nbsp;
// -1代表取到了末?nbsp;
while(startIndex < original.length() && startIndex != -1)
{
String temp = original.substring(index,startIndex);
// System.out.println(" " + startIndex);
// 取子?nbsp;
v.addElement(temp);
// 讄取子串的起始位置
index = startIndex + regex.length();
// 获得匚w子串的位|?nbsp;
startIndex = original.indexOf(regex,startIndex + regex.length());
}
// 取结束的子串
v.addElement(original.substring(index));
// Vector对象转换成数l?nbsp;
str = new String[v.size()];
for(int i=0;i<v.size();i++)
{
str[i] = (String)v.elementAt(i);
}
// q回生成的数l?nbsp;
return str;
}
/**
* 功能描述:获取最后一个字W串
* @author ZhouMingXing
*/
public String getLastString(String[] values ){
int length = values.length;
if(length == 0){
return null;
}else{
return values[length-1];
}
}
}
//试用?br> public static void main(String[] args){
MyBean user = new MyBean();
try {
new BeanWaper(user,new java.sql.ResultSet()).waperBean(result);
System.out.println("最后结果信息如?"+"\n"+user.getId()+" "+user.getName()+" "+user.getNumber()+" "+user.getMyBirthed()+" "+user.getMyImage()+" "+user.getPassword()+""+"");
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
System.out.println("9.打印异常信息如下:"+"\n"+e);
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("10.打印异常信息如下:"+"\n"+e);
}
}
}