您的位置:首页 > Web前端 > JavaScript

js截取字符串处理 和 js 图片切换处理

2010-04-23 19:21 561 查看
js截取方式

1、区别汉字和英文

//字符串截取
function CutString(name, maxLength) {
if (!maxLength) {
maxLength = 20;
}
if (name == null || name.length < 1) {
return "";
}
var w = 0; //字符串长度,一个汉字长度为2
var s = 0; //汉字个数
var p = false; //判断字符串当前循环的前一个字符是否为汉字
var b = false; //判断字符串当前循环的字符是否为汉字
var nameSub;
for (var i = 0; i < name.length; i++) {
if (i > 1 && b == false) {
p = false;
}
if (i > 1 && b == true) {
p = true;
}
var c = name.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
w++;
b = false;
} else {
w += 2;
s++;
b = true;
}
if (w > maxLength && i <= name.length - 1) {
if (b == true && p == true) {
nameSub = name.substring(0, i - 2) + "...";
}
if (b == false && p == false) {
nameSub = name.substring(0, i - 3) + "...";
}
if (b == true && p == false) {
nameSub = name.substring(0, i - 2) + "...";
}
if (p == true) {
nameSub = name.substring(0, i - 2) + "...";
}
break;
}
}
if (w <= maxLength) {
return name;
}
return nameSub;
}


2、不区分汉字和英文,只按字符个数截取

function shorten(categoryName, maxLength){
if(!maxLength){
maxLength = 20;
}
if(categoryName==null||categoryName.length<1){
return "";
}
if(categoryName.length<maxLength){
return categoryName;
}
return categoryName.substring(0, maxLength-3)+"...";
}

js中使用:
var exampleNameAndTitle = shorten(catexampleName,18);//截取18个字符
var exampleNameAndTitle = shorten(catexampleName);//截取20个字符


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/carefree31441/archive/2009/09/10/4538166.aspx

图片切换

<SCRIPT language="JavaScript">
<!--

var widths=400;    //焦点图片宽
var w=2;
var widthss=widths+w;
var heights=300; //焦点图片高
var heightss=heightss+w;
var heightt=20;
var counts=5;      //总条数

//img1=new Image();在这里是声明了一个图片元素的对象
//后面是对图像的属性进行赋值或设置,如imgs.src="xxxx.jpg"是指定图片的索引地址.
//这个代码一般用于head区,用于预加载图片,即加快图片显示.
//只有用new Images()得到的图片IE7才认,
//而IE6和firefox可认得imgUrl[1]="/y9q9ms7lbgbt.jpg";得到的图片

img1=new Image();img1.src='http://www.mn-soft.com/files/2010/04/logo.png';
url1=new Image();url1.src='http://www.mn-soft.com';

img2=new Image();img2.src='http://www.mn-soft.com/files/2010/04/alert.png';
url2=new Image();url2.src='http://www.mn-soft.com';

img3=new Image();img3.src='http://www.mn-soft.com/files/2010/04/minimd5.gif';
url3=new Image();url3.src='http://www.mn-soft.com';

img4=new Image();img4.src='http://www.mn-soft.com/files/2010/04/interopexcel.gif';
url4=new Image();url4.src='http://www.mn-soft.com';

img5=new Image();img5.src='http://www.mn-soft.com/files/2010/04/miniphoto.jpg';
url5=new Image();url5.src='http://www.mn-soft.com';

var nn=1; //当前所显示的滚动图
var key=0;    //标识是否为第一次开始执行
var tt;    //标识作用

function change_img()
{
if(key==0){key=1;} //如果第一次执行KEY=1,表示已经执行过一次了。
else if(document.all)//document.all仅IE6/7认识,firefox不会执行此段内容
{
document.getElementById("pic").filters[0].Apply(); //将滤镜应用到对像上
document.getElementById("pic").filters[0].Play(duration=2);  //开始转换
document.getElementById("pic").filters[0].Transition=23;//转换效果
}

eval('document.getElementById("pic").src=img'+nn+'.src');     //替换图片
eval('document.getElementById("url").href=url'+nn+'.src'); //替换URL
//替换ALT

for (var i=1;i<=counts;i++)
{
//将下面黑条上的所有链接变为未选中状态
document.getElementById("xxjdjj"+i).className='axx';
}
document.getElementById("xxjdjj"+nn).className='bxx';  //将当前页面的ID设置为选中状态
nn++;
if(nn>counts){nn=1;}    //如果ID大于总图片数量。则从头开始循环
tt=setTimeout('change_img()',4000);    //在4秒后重新执行change_img()方法.
}
function changeimg(n)//点击黑条上的链接执行的方法。
{
nn=n; //当前页面的ID等于传入的N值,
window.clearInterval(tt); //清除用于循环的TT
//重新执行change_img();但change_img()内所调用的图片ID已经在此处被修改,会从新ID处开始执行.
change_img();
}
//样式表
document.write('<mce:style><!--
');
document.write('.axx{padding:1px 7px;border-left:#cccccc 1px solid;font-size:12px;}');
document.write('a.axx:link,a.axx:visited{text-decoration:none;color:#fff;');
document.write('line-height:12px;font:9px sans-serif;background-color:#666;}');
document.write('a.axx:active,a.axx:hover{text-decoration:none;color:#fff;');
document.write('line-height:12px;font:9px sans-serif;background-color:#999;}');
document.write('.bxx{padding:1px 7px;border-left:#cccccc 1px solid;}');
document.write('a.bxx:link,a.bxx:visited{text-decoration:none;color:#fff;');
document.write('line-height:12px;font:9px sans-serif;background-color:#009900;}');
document.write('a.bxx:active,a.bxx:hover{text-decoration:none;color:#fff;');
document.write('line-height:12px;font:9px sans-serif;background-color:#ff9900;}');
document.write('
--></mce:style><style mce_bogus="1">');
document.write('.axx{padding:1px 7px;border-left:#cccccc 1px solid;font-size:12px;}');
document.write('a.axx:link,a.axx:visited{text-decoration:none;color:#fff;');
document.write('line-height:12px;font:9px sans-serif;background-color:#666;}');
document.write('a.axx:active,a.axx:hover{text-decoration:none;color:#fff;');
document.write('line-height:12px;font:9px sans-serif;background-color:#999;}');
document.write('.bxx{padding:1px 7px;border-left:#cccccc 1px solid;}');
document.write('a.bxx:link,a.bxx:visited{text-decoration:none;color:#fff;');
document.write('line-height:12px;font:9px sans-serif;background-color:#009900;}');
document.write('a.bxx:active,a.bxx:hover{text-decoration:none;color:#fff;');
document.write('line-height:12px;font:9px sans-serif;background-color:#ff9900;}');
document.write('</style>');
//内容部分
document.write('<div style="width:'+widthss+'px;height:'+heights+'px;');
document.write('overflow:hidden;text-overflow:clip;float:left;">');
document.write('<div><a id="url" target="_blank"><img id="pic" ');
document.write('style="border:1px #cccccc solid;');
document.write('FILTER: progid:DXImageTransform.Microsoft.RevealTrans (duration=2,transition=23)"');
document.write(' width='+widths+' height='+heights+' /></a></div>');
document.write('<div style="filter:alpha(style=1,opacity=10,finishOpacity=90);');
document.write('background: #888888;width:100%-2px;text-align:right;');
document.write('top:-16px;position:relative;margin:1px;height:14px;');
document.write('border:0px;padding-top:1px;z-index:4000;"><div>');

for(var i=1;i<counts+1;i++)
{
document.write('<a href="javascript:changeimg('+i+');" mce_href="javascript:changeimg('+i+');" id="xxjdjj'+i+'"');
document.write(' class="axx" target="_self">'+i+'</a>');
}
document.write('</div></div></div>');

//开始执行滚动操作
change_img();

//-->
</SCRIPT>


js获取字节数

var lenFor = function(str){
  var byteLen=0,len=str.length;
  if(str){
    for(var i=0; i<len; i++){
      if(str.charCodeAt(i)>255){
        byteLen += 2;
      }
      else{
        byteLen++;
      }
    }
    return byteLen;
  }
  else{
    return 0;
  }
}

//正则表达式检测字符串的字节长度:

//这个好使---用的时间竟然是for循环的两倍!!!!

function getBytesLength(str) {
// 在GBK编码里,除了ASCII字符,其它都占两个字符宽
return str.replace(/[^/x00-/xff]/g, 'xx').length;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: