<html>
<body>
<script>
function subStringByByte(str,start,len){
end=start+len
ret="";
strArray = str.split("");
i=start;
for(;i<end&&i<strArray.length;i++){
ret+=strArray[i];
}
alert(ret);
} </script>
取1-4个字符,包括第1个不包括第4个!字符串从0开始记数
<br>以下是不够长度测试 1-4
<input type=button onclick="subStringByByte('看ab看',1,4)" value="看ab看">
<input type=button onclick="subStringByByte('a看b看',1,4)" value="a看b看">
<input type=button onclick="subStringByByte('aaa看',1,4)" value="aaa看">
<input type=button onclick="subStringByByte('看aaa',1,4)" value="看aaa">
<br>以下是够长度测试 1-4
<input type=button onclick="subStringByByte('看ab看看ab看',1,4)" value="看ab看看ab看">
<input type=button onclick="subStringByByte('a看b看ab看',1,4)" value="a看b看ab看">
<input type=button onclick="subStringByByte('aa看ab看',1,4)" value="aa看ab看">
<input type=button onclick="subStringByByte('看a看ab看a',1,4)" value="看a看ab看a">
<br>
<font color=red>临时写的方法,未经过更为复杂的测试,如果有问题请告之</font>
</body>
</html>
<body>
<script>
function subStringByByte(str,start,len){
end=start+len
ret="";
strArray = str.split("");
i=start;
for(;i<end&&i<strArray.length;i++){
ret+=strArray[i];
}
alert(ret);
} </script>
取1-4个字符,包括第1个不包括第4个!字符串从0开始记数
<br>以下是不够长度测试 1-4
<input type=button onclick="subStringByByte('看ab看',1,4)" value="看ab看">
<input type=button onclick="subStringByByte('a看b看',1,4)" value="a看b看">
<input type=button onclick="subStringByByte('aaa看',1,4)" value="aaa看">
<input type=button onclick="subStringByByte('看aaa',1,4)" value="看aaa">
<br>以下是够长度测试 1-4
<input type=button onclick="subStringByByte('看ab看看ab看',1,4)" value="看ab看看ab看">
<input type=button onclick="subStringByByte('a看b看ab看',1,4)" value="a看b看ab看">
<input type=button onclick="subStringByByte('aa看ab看',1,4)" value="aa看ab看">
<input type=button onclick="subStringByByte('看a看ab看a',1,4)" value="看a看ab看a">
<br>
<font color=red>临时写的方法,未经过更为复杂的测试,如果有问题请告之</font>
</body>
</html>
解决方案 »
- 一小段js代码的疑惑
- 为什么 调用js文件中的jquery时没有作用,而把代码拿到前台页面head 里就可以用
- utf-8页面上限制输入某种语言--100分,在线等
- 关于SVG格式在IE上的显示
- 奇怪的问题,大虾帮帮忙吧
- 帮我理解下 callee,谢谢各位
- 中国人,做自己的ComboBox!!!
- 一个很弱智的问题:在javascript中,一个变量名怎样包含另一个变量名,如vbscript中可用 title_name"&i&"
- HttpUploader2上传控件无法上传?
- 求大家帮忙写个密码正则,谢谢
- 请问使用Frameset实现分割的时候,如何在这个分割条上添加背景图片?
- 请高手们停留一刻,进来看看一个小小需求,100分相送
<body>
<script language = "javascript">
function getValue()
{
alert(document.form1.text1.value.substring(0,4));
alert(subStringByte(document.form1.text1.value,0,4));
}
function subStringByte(str,begin,len)
{
var charCount = 0;
var count = 0;
var i = 0;
var end = begin + len;
if(begin == null || begin < 0 || end < 0 || end == null)
{
return null;
}
if(str == null || str.length == 0)
{
return null;
}
for(i = begin; i < end; i++)
{
if(str.charCodeAt(i) > 128)
{
if(count + 2 <= len)
{
count = count + 2;
charCount = charCount + 1;
}
else
{
break;
}
}
else
{
if(count + 1 <= len)
{
count = count + 1;
charCount = charCount + 1;
}
else
{
break;
}
}
}
return str.substring(begin,charCount);
}
</script>
<form name = "form1">
<input type = "text" name = "text1" value = "一a一b" />
<input type = "button" name = "button1" value = "button" onClick = "getValue()"/>
</form>
</body>
</html>
<body>
<script language = "javascript">
function getValue()
{
alert(document.form1.text1.value.substring(0,4));
alert(subStringByte(document.form1.text1.value,0,4));
}
function subStringByte(str,begin,len)
{
var charCount = 0;
var count = 0;
var i = 0;
var end = begin + len;
if(begin == null || begin < 0 || end < 0 || end == null)
{
return null;
}
if(str == null || str.length == 0)
{
return null;
}
for(i = begin; i < end; i++)
{
if(str.charCodeAt(i) > 128)
{
if(count + 2 <= len)
{
count = count + 2;
charCount = charCount + 1;
}
else
{
break;
}
}
else
{
if(count + 1 <= len)
{
count = count + 1;
charCount = charCount + 1;
}
else
{
break;
}
}
}
return str.substring(begin,charCount);
}
</script>
<form name = "form1">
<input type = "text" name = "text1" value = "一a一b" />
<input type = "button" name = "button1" value = "button" onClick = "getValue()"/>
</form>
</body>
</html>
--------------------------
<html>
<body>
<script>
function chinese(s){//判断汉字
if(/[^\x00-\xff]/g.test(s))
return true;//是汉字
else
return false;
}
function subStringByByte(str,start,len){
end=start+len
ret="";
strArray = str.split("");
i=start;
p=0;
for(;i<end&&i<strArray.length&&p<end;i++){
s=strArray[i];
if(chinese(s)){//如果是汉字
if(p!=end-1){
ret+=s;
p++;
}
}else{
ret+=s;
}
p++;
}
alert(ret);
} </script>
取1-4个字符,包括第0个不包括第4个!字符串从0开始记数<br>
<input id=textvalue type=text onclick="subStringByByte('看ab看',0,4)" value="看ab看">
<input type=button onclick="subStringByByte(textvalue.value,0,4)" value="a看b看">
<br><font color=red>临时写的方法,未经过更为复杂的测试,如果有问题请告之 LCKKING()</font>
</body>
</html>
str.substring(0,3);
function subStringByByte(str,len){
var ret="", count=0,c,num;
for(var i=0;i<str.length;i++){
var nc=str.charCodeAt(i);
num=(nc>255)?2:1;
if(count+num<=len) {
ret+=str.charAt(i);
count+=num;
}else
return ret;
}
}
alert(subStringByByte("a我闷ab",4))
</script>
<html>
<body>
cript language = "javascript">
function strLength(str)
{
var re,resultStr;
re=new RegExp("[^\x00-\xff]","g");
resultStr=str.replace(re,"aa");
return resultStr.length;
}
function getValue()
{
// alert(document.form1.text1.value.substring(0,4));
alert(subStringByte(document.form1.text1.value,0,3));
alert(subStringByte(document.form1.text1.value,0,4));
}
function subStringByte(str,begin,len)
{
var flag=0;
var begintemp=0;
var endtemp=0;
var returnstr="";
var lentemp;
var strtemp;
var flagtemp;
var end = begin + len;
if(begin == null || begin < 0 || end < 0 || end == null || len==0)
{
return null;
}
if(str == null || str.length == 0)
{
return null;
}
if(strLength(str)<len)
{
return null;
}
flag=len;
begintemp=begin;
while(flag>1)
{
if((flag%2)==1)
{flagtemp=flag-1;}
else
{flagtemp=flag;}
lentemp=flagtemp/2;
endtemp=begintemp+lentemp;
strtemp=str.substring(begintemp,endtemp);
begintemp=begintemp+lentemp;
returnstr=returnstr+strtemp;
flag=len-strLength(returnstr);
}
if(flag==1)
{
if((flag%2)==1){flag=flag+1;}
lentemp=flag/2;
endtemp=begintemp+lentemp;
strtemp=str.substring(begintemp,endtemp);
if(strLength(strtemp)==1){returnstr=returnstr+strtemp;}
} return returnstr;
}
</script>
<form name = "form1" method="post" >
<input type = "text" name = "text1" value = "一a一a" />
<input type = "button" name = "button1" value = "button" onClick = "getValue()"/>
</form>
</body>
</html>