本文实例讲述了jQuery实现字符串按指定长度加入特定内容的方法。分享给大家供大家参考。具体分析如下:
最近的一个项目中需要将手机号码按一定长度用标识符隔开,便于阅读,网上找了一会发现没有合适的代码于是就自己手写了一个函数,可以按指定长度往字符串中插入分隔符,有需要的朋友可以拿去。
var split_str=false; function insert_flg(str,flg,sn){ str=str.replace(new RegExp(flg,"g"),""); var newstr=""; var tmp; var len=str.length;//长度 var num=len/sn;//分段数 var start; var end; //len%sn //能否完整分段 0:是 for(i=0;i<num;i+=1){ if (len%sn!=0){//不能完整分段 start=i*sn-1; end=i*sn+(sn-1); }else{ start=i*sn; end=(i+1)*sn; } start=start<0?0:start; if (end<=len){ tmp=str.substring(start,end); } newstr+=(end>=len)?tmp:tmp+flg; } split_str=newstr; return newstr; } $(function(){ var phone=$("#phone"); phone.blur(function(){//失去焦点时触发 var cont=phone.val(); cont=jQuery.trim(cont); var str_p='-';//拆分符号 var s=4;//每段长度 if (!cont||split_str==cont) return false; //焦点再次离开时检查内容有无变化 phone.val(insert_flg(cont,str_p,s)); }) })
希望本文所述对大家的jQuery程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。