当前位置: 代码迷 >> JavaScript >> js 写的印证
  详细解决方案

js 写的印证

热度:415   发布时间:2012-09-02 21:00:34.0
js 写的验证
function istel(string){                                        //检验电话号码格式
	re = /^0[0-9]{2,3}-[0-9]{7,8}$|^[48]00-[0-9]{4}-?[0-9]{3,4}$/;
	if(re.test(string)){
		return true;		
	}else{
		return false;
	}
}

function isqh(string){                                        //检验电话区号
	re = /^\d{3,5}$/;
	if(re.test(string)){
		return true;		
	}else{
		return false;
	}
}

function isusername(string){                                        //检验注册会员名格式
	re = /^[_a-zA-Z][0-9a-zA-Z]{3,14}$/;
	if(re.test(string)){
		return true;		
	}else{
		return false;
	}
}

function ispassword(string){                                        //检验密码长度
	re = /^\S{6,20}$/;
	if(re.test(string)){
		return true;		
	}else{
		return false;
	}
}

function iscellphone(string){                                        //检验手机号码格式
	re = /^1[3|5|8][0-9]{9}$/;
	if(re.test(string)){
		return true;		
	}else{
		return false;
	}
}

function isurl(string){                                            //检验网站URL格式
	re = /^http:\/\/.+/g;
	if(re.test(string)){
		return true;		
	}else{
		return false;
	}
}

function iszip(string){                                        //检验邮政编码格式
	re = /^[0-9]{6}$/;
	if(re.test(string)){
		return true;		
	}else{
		return false;
	}

}

function isnums(string){                                        //检验是否为数字
	re = /^[1-9]\d*$/;
	return re.test(string);
}

function isnumber(string){                                        //检验是否为数字2
	re = /^[1-9]\d*$|^0$/;
	return re.test(string);
}

//检测是否为浮点数
function isfloat(string){
	re = /^\d+(\.\d{1,2})*$/;
	return re.test(string);
}

function isemail(mail){                                      //检验电子邮箱格式
	re = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
	if(re.test(mail)){
		return true;
	}else{
		return false;
	}
}

//正则去空格
function str_trim(str) { 
	var re = /\s*(\S[^\0]*\S)\s*/; 
	str = str.replace(re,"$1");
	return str.replace(/\s*/g,"");
}

function ischeckboxed(obj){                                  //检验多选框是否有选中
	flag = false;
	for(i=0;i<obj.length;i++){
		if(obj[i].checked){
			flag = true;
		}
	}
		return flag;
}

function isboxed(obj){                                      //判断复选框被点选数量
	var es = 0;
	if(obj.length == undefined && obj.value){
		boxs = 1;
	}else if(obj.length && obj.value == undefined){
		boxs = obj.length;
	}
	if(boxs == 1){
		if(obj.checked){ es = 1 ;}
	}else{
		for(i=0;i<obj.length;i++){
			if(obj[i].checked){es++;}
		}
	}
	return {'bs':boxs,'es':es};
}

//获以下拉框里被选定的文本
function getselecttext(obj){
	return obj.options[obj.selectedIndex].text;
}

function alltrim(arr,kj){                                        //去掉前后空格
	if(kj == undefined){
		kj = "all";
	}
	
	for(i=0;i<arr.length;i++){
		eval("document."+kj+"."+arr[i]+".value=str_trim(document."+kj+"."+arr[i]+".value)");
	}
}

function formtrim(arr,obj){                                        //去掉前后空格	
	for(i=0;i<arr.length;i++){
		eval("obj."+arr[i]+".value = str_trim(obj."+arr[i]+".value)");
	}
}

//汉字转UTF-8编码
function toutf8(chstr){
	return escape(chstr).replace(/%u/g,"\\u").toLowerCase();
}

function inputnull(obj,msg,action){              //控件提交阻止,对象,弹出信息,回应动作(focus,select)
	ac = action == undefined ? 'focus' : action ;
	if(obj.value == ""){
		alert(msg);
		eval('obj.'+ac+'();');
		return false;		
	}else{
		return true;
	}
}

function jinputnull(obj,msg,action){              //控件提交阻止,对象,弹出信息,回应动作(focus,select)
	ac = action == undefined ? 'focus' : action ;
	if(obj.val() == "" || obj.value == ""){
		alert(msg);
		eval('obj.'+ac+'();');
		return false;		
	}else{
		return true;
	}
}

function str_replace(obj,s,r){                                        //对象内容关键字替换
	obj.value = obj.value.replace(eval("\/\\"+s+"\/g"),r);
}

function isarray(obj){                                         //判断控件对象是否为数组
	if(obj.length && obj.value==undefined){
		return true;
	}else if(obj.length == undefined && obj.value){
		return false;
	}
}

//判断数组中是否存在此值
function isinarr(arr,val){
	for(i=0;i<arr.length;i++){
		if(val == arr[i]){return true;}
	}
	return false;
}

function getfocusname(){                                  //获取当前获取焦点的控件名称
	var srcElem = document.activeElement
	var testval = srcElem.name;
	return testval;
}


function getradiovalue(obj){                                  //获取单选框点选的值
	if(!isarray(obj)){
		return false;
	}
	
	for(i=0;i<obj.length;i++){
		if(obj[i].checked){
			return obj[i].value;
		}
	}
	return false;
}

function getcheckboxval(obj){                                //获取多选框的点选的值
	if(!isarray(obj)){
		return false;
	}

	var boxval = "";
	for(i=0;i<obj.length;i++){
		if(obj[i].checked){
			boxval = boxval+obj[i].value+"_";
		}
	}
	
	return boxval.substr(0,boxval.length-1);
}

//获取多选框的点选的值2
function getboxval(obj){
	var boxval = new Array();
	eds = isboxed(obj);
	if(eds.es == 0){return false;}
	if(eds.bs==1 && eds.es==1){
		return {0:obj.value}
	}else{
		j=0;
		for(i=0;i<obj.length;i++){
			if(obj[i].checked){ boxval[j] = obj[i].value; j++;}
		}
	}
	return boxval;
}

function gotopage(curpage){                               //通用分页自动加GET参数的函数
	var strUrl=window.location.href; 
	var arrUrl=strUrl.split("/"); 
	var strPage=arrUrl[arrUrl.length-1];
	pnre1 = /\?pn=\d{1,2}/;
	pnre2 = /&pn=\d{1,2}/;
	strPage = strPage.replace(pnre1,"");
	strPage = strPage.replace(pnre2,"");
	strPage = strPage.replace("#","");
	strPage = strPage.replace("/&&/g","");
	ps  = strPage.indexOf("&");
	ps2 = strPage.indexOf("?");
	ps3 = strPage.indexOf("=");
	if(ps2>0 && ps3>0){
		window.location = strPage+"&pn="+curpage;
	}else if(ps2<0){
		window.location = strPage+"?pn="+curpage;
	}
}

function getstr(mystr,mykey){                               //取最后字符串
	sn = mystr.lastIndexOf(mykey);
	if(!sn){return false;}
	return mystr.substr(sn);
}

function getrstr(mystr,mykey){                               //取最后字符串2
	sn = mystr.split(mykey);
	return sn[sn.length-1];
}

function ksearch(surl,kn,obj){
	if(obj == undefined){return false;}
	if(kn == "" || surl == ""){return false;}
	if(obj.value == ""){alert('搜索关键字不能为空!');obj.focus();return false;}
	window.location = encodeURI(surl+"?"+kn+"="+obj.value);
}

function add_op(obj,url,getstr,m){                                            //单项添加通用函数
	val = str_trim(obj.value);
	if(val == ""){
		obj.value = "";
		alert('不能添加空值!');
		obj.focus();
		return false;
	}
	if(m == 'f'){ if(!confirm('您确定要继续执行吗?')){return false;} }
	window.location = url+'?'+getstr+'='+val;
}

function request_gets(obj,url,getstr,ov,m,reg){                                            //发送GET多值,参数:对象,发送URL,参数名称,扩展GET,是否提示,正则验证函数
	val = $.trim(obj.value);
	if(val == ""){
		obj.value = "";
		alert('不能发送空值!');
		obj.focus();
		return false;
	}
	
	if(reg != "" && reg != undefined){
		bl = eval(reg+"(val)");
		if(!bl){alert('不符合规则!');obj.select();return false;}
	}
	
	if(m == 'f'){ if(!confirm('您确定要继续执行吗?')){return false;} }
	if(ov == undefined){
		window.location = encodeURI(url+'?'+getstr+'='+val);
	}else{
		window.location = encodeURI(url+'?'+getstr+'='+val+ov);
	}
}

function request_get(url,gstr,m){                                       //参数:url,参数
	if(url == undefined || url == ''){alert('错误用法!');return false;}
	if(m == 'f'){ if(!confirm('您确定要继续执行吗?')){return false;} }
	window.location = encodeURI(url+'?'+gstr);
}

function isdel(){                                          //为删除操作弹出提示
	if(!confirm('您确定要删除吗?')){
		return false;
	}
}

function isupdate(){                                          //为修改操作弹出提示
	if(!confirm('您确定要修改吗?')){
		return false;
	}
}

function boxse(param,obj){                                 //多选框多种选择方式,全选(yas),全不选(nas),反选(nse)
	if(param == 'yas'){
		if(isarray(obj)){
			for(i=0;i<obj.length;i++){
				obj[i].checked = true;
			}
		}else{
			obj.checked = true;
		}
	}else if(param == 'nas'){

		if(isarray(obj)){
			for(i=0;i<obj.length;i++){
				obj[i].checked = false;
			}
		}else{
			obj.checked = false;
		}		
	}else if(param == 'nse'){

		if(isarray(obj)){
			for(i=0;i<obj.length;i++){
				obj[i].checked = !obj[i].checked;
			}
		}else{
			obj.checked = !obj.checked;
		}		
	}
}

function box_action(objname){                                          //多选框对象操作
	objcode = "<span style=\"cursor:pointer;color:#ff8000;\" onclick=\"boxse('yas',document.all."+objname+")\">全选</span>&nbsp;/&nbsp;<span style=\"cursor:pointer;color:#ff8000;\" onclick=\"boxse('nas',document.all."+objname+")\">不选</span>&nbsp;/&nbsp;<span style=\"cursor:pointer;color:#ff8000;\" onclick=\"boxse('nse',document.all."+objname+")\">反选</span>";
	document.write(objcode);
}

function boxaction(objname,formname){                                          //多选框对象操作
	var fname = formname == undefined ? "all" : formname ;
	objcode = "<span style=\"cursor:pointer;color:#ff8000;\" onclick=\"boxse('yas',document."+fname+"."+objname+")\">全选</span>&nbsp;/&nbsp;<span style=\"cursor:pointer;color:#ff8000;\" onclick=\"boxse('nas',document."+fname+"."+objname+")\">不选</span>&nbsp;/&nbsp;<span style=\"cursor:pointer;color:#ff8000;\" onclick=\"boxse('nse',document."+fname+"."+objname+")\">反选</span>";
	document.write(objcode);
}

function deletes(obj,url,getstr){                                //多条删除
	var ids = "";
	if(isarray(obj)){
		for(i=0;i<obj.length;i++){
			if(obj[i].checked){
				ids = ids+obj[i].value+"_";
			}
		}
		if(ids.length){
		ids = ids.substr(0,ids.length-1);
		}
	}else{
		if(obj.checked){
			ids = obj.value;
		}
	}
	
	if(ids == ""){
		alert('您至少要选择一条才能执行删除!');
		return false;
	}else{
		
		if(!confirm('您确定要删除所选吗?')){
			return false;
		}
		
		window.location = url+'?'+getstr+'='+ids;
	}
}


function getpicpre(picstr,divn,imgv){       //图片路径,表格行ID,图像控件ID
	if(picstr == ""){$("#"+divn).hide();return false;}
	$("#"+divn).show();
	picstr = "file:///"+picstr;
	$("#"+imgv).attr("src",picstr);
}

function getPath(obj)  {
	if(obj)    {
		if (window.navigator.userAgent.indexOf("MSIE")>=1)      {
			obj.select();
			return document.selection.createRange().text;
		}else if(window.navigator.userAgent.indexOf("Firefox")>=1)      {
			if(obj.files)        {
				return obj.files.item(0).getAsDataURL();
			}
			return obj.value;
		}
		    return obj.value;
	    }
}

function getmmpre(obj,divn,mmv,mw,mh){       //图片路径,表格行ID,媒体控件ID
	var pstr = getPath(obj);
	var extname = getrstr(pstr,'.');
	extname = extname.toLowerCase();;
	if(!(extname == 'jpg' || extname == 'png' || extname == 'gif' || extname == 'swf')){alert('你选择的不是图片或动画文件!');obj.select();$("#"+divn).hide();return false;}
	wv = mw == undefined?150:mw;
	hv = mh == undefined?60 :mh;
	if(obj.value == ""){$("#"+divn).hide();return false;}
	$("#"+divn).show();
	picstr = "file:///"+getPath(obj);
	if(getstr(picstr,".") == ".swf"){
		pstr = pstr.replace(":","|");
		pstr = pstr.replace(/\\/g,"/");
		picstr = "file:///"+pstr;
		
		$("#"+mmv).html('<div id="linkswf"></div>');
		swfobject.embedSWF(picstr, "linkswf", wv, hv, "9.0.0");
	}else{
		$("#"+mmv).html('<img src="'+picstr+'" width="'+wv+'">');
	}
}

function getyzm(obj){                                    //防缓存的变换验证码函数
	srcv = obj.src;
	srcstr = srcv.split('?');
	obj.src = srcstr[0]+'?'+new Date().getTime();
}

function MyMenus(){                                     //构造后台菜单对象
	this.json    = "";
	this.rootdiv = "";
	this.idsn    = 0 ;
	this.psty    = "";
	this.ssty    = "";
	this.display = function(){
		for(key in this.json){
			this.idsn++;
			$("#"+this.rootdiv).append("<div style='"+this.psty+"' id='mp_"+this.idsn+"' onclick='{$(this).next(\"div\").toggle();}'>"+key+"</div><div style='"+this.ssty+"' id='ms_"+this.idsn+"'></div>");
			var itemstr = "<ul>";
			for(i=0;i<this.json[key].length;i++){
				itemstr += "<li><a href='"+this.json[key][i].href+"'>"+this.json[key][i].name+"</a></li>"
			}
			itemstr += "</ul>";
			$("#ms_"+this.idsn).append(itemstr);
			$("#"+this.rootdiv).append("<br>");
		}
	}
}

function makesubselect(val,key,url,gete,mobj,rek,rev){   //参数:发送值,发送get键,发送地址,扩展参数,生成对象名称,JSON键名,JSON值名
	if(val == "" || val == undefined){alert('赋值错误!');return false;}
	gets = eval("({"+key+":'"+val+"',rad:Math.random()});");
	if(!(gete == undefined || gete == "")){	geta = gete.split(":");	gets[geta[0]] = geta[1]; }

	mobj.options.length = 0;	
	$.get(url,gets,function(data){
		data = eval('('+data+')');
		$.each(data, function(i,n){
		  eval("(mobj.add(new Option(data[i]."+rev+",data[i]."+rek+")));");
		});	
	});
}

//向对象插入特殊字符
var inserttext = function(obj,A){ 
	var B = obj;
	B.focus(); 
	var C = document.selection.createRange(); 
	if(C){ 
	if(C.text.length > 0) C.text += A; 
	else C.text= A; 
	C.select(); 
	} 
}

//根据不同年份和月份,设置相应的天数
function getdays(objY,objM,objD){
	var ms,ds;
	ms = {0:31,1:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
	if(objY.value < 1 || objM.value > 12 || objM.value < 1){
		return false;
	}else if(objM.value != 2){
		ds = ms[objM.value];
	}else{
		ds = !(objY.value % 4) ? 29 : 28 ;
	}
	
	objD.options.length = 0 ;
	
	for(i=1;i<=ds;i++){
		objD.add(new Option(i,i));
	}
	
}

//生成SELECT,参数:对象名,事件,值取值范围(例10_20),默认值
function makeselect(Fobj,evop,evname,v,dv){
	if(Fobj == undefined || Fobj == ''){alert('调用语法出错!');return false;}
	var evstr  = evop == "" && evname == "" ? '' : ''+evop+'='+evname+'' ;
	var stestr = "<select name=\""+Fobj+"\" "+evop+"=\""+evname+"\">";
	var vs = v.split('_');
	for(i=vs[0];i<=vs[1];i++){
		if((dv == undefined || dv == '')){
			stestr += "<option value=\""+i+"\">"+i+"</option>";
		}else{
			i == dv ? stestr += "<option value=\""+i+"\" >"+i+"</option>" : stestr += "<option value=\""+i+"\" selected>"+i+"</option>" ;
		}
	}
	stestr += "</select>";
	document.write(stestr);
}

//生成可切换复选框,参数:布尔值(t/f),对象,id值,get参数,id字段,url,操作关键字
function makecheckbox(bl,obj,cid,getv,idn,url,opstr){
	boxval = bl == 't' ? " checked " : "" ;
	document.write("<input type=\"checkbox\" "+boxval+" onclick=\"box_ajax_send("+cid+",this,'"+getv+"','"+idn+"','"+url+"','"+opstr+"');\">");
}

//发送复选框ajax请求,参数:id值,对象,get参数,url,操作关键字
function box_ajax_send(id,obj,getv,idn,url,opstr){
	var str,opv;
	idn = (idn == '' || idn == undefined) ? 'id' : idn ;
	if(obj.checked){str = '您确定要设为'+opstr+'吗?';	opv = 't';}else{str = '您确定要取消'+opstr+'吗?';	opv = 'f';}
	if(!confirm(str)){obj.checked = !obj.checked; return false;}
	$.get(url+'/'+idn+'/'+id+'/'+getv+'/'+opv+'/'+Math.random(),function(data){  if(data == 'ok'){alert('操作成功!');}else{alert('操作失败'); obj.checked = !obj.checked;}  });
}

//获取鼠标坐标
function mouseCoords(ev){
    if(window.navigator.userAgent.indexOf("Firefox")>=1) {   
        return {x:ev.pageX, y:ev.pageY};   
    }else{
    	ev = window.event;
    	return { x:ev.clientX+document.body.scrollLeft+document.documentElement.scrollLeft, y:ev.clientY+document.body.scrollTop+document.documentElement.scrollTop };
    }   
}

//对象转换为JSON(yusion改进版)
function obj2json(o){
	var r = [];
	if(typeof o =="string") return "\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\"";
	if(typeof o =="undefined") return "";
	if(typeof o == "object"){
		if(o===null) return "null";
		else if(!o.sort){
			for(var i in o)
			r.push('"'+i+"\":"+obj2str(o[i]))
			r="{"+r.join()+"}"
		}else{
			for(var i =0;i<o.length;i++)
			r.push(obj2str(o[i]))
			r="["+r.join()+"]"
		}
		return r;
	}
	return o.toString();
}

//字符串排序
function str_sort(_str){
	return _str.split("").sort().join("");
}





  相关解决方案