String.prototype.othersubstr=function(start,len){
if(!this || !len) { return ''; }
//预期计数:中文2字节,英文1字节
var a = 0;
//存放最后截取后的字符串的
var temp = '';
var num=0;
for(var i=0;i<start;i++){
if (this.charCodeAt(i)>255)
{
//算出真是的启始位置,还原成不区分中英文的
start-=1;
}
}
for (start;start<this.length;start++)
{
if (this.charCodeAt(start)>255)
{
//按照预期计数增加2
a+=2;
}
else
{
a++;
}
//如果增加计数后长度大于限定长度,就直接返回临时字符串
if(a >len) {
return temp;
}
//将当前内容加到临时字符串
temp += this.charAt(start);
}
return temp;
}
这样来调用
var str="浩天科技的d好";
str.othersubstr(8,3)
输出结果为:的d
分享到:
相关推荐
要实现不区分中英文的截取,我们需要使用`mb_substr()`函数,它是PHP的多字节字符串处理函数,能处理各种字符编码,包括UTF-8。 `mb_substr()`函数的基本语法如下: ```php mb_substr(string $str, int $start, ?...
总的来说,处理中英文混合字符串长度的关键在于理解字符编码的不同,并通过遍历字符串来区分中文字符和英文字符。通过自定义函数或利用现有在线工具,我们可以方便地进行这类计算,满足各种应用场景的需求。了解这些...
在JavaScript中,`substr`函数通常用于从字符串中截取一部分子串,但它不区分单字节字符(如英文)和多字节字符(如中文)。对于中文字符,每个字符通常由两个字节表示,因此当处理包含中文的字符串时,`substr`可能...
在PHP中,`strlen()` 函数用于获取字符串的长度,但它并不区分字符编码,仅计算字节个数。而对于`mb_strlen()`函数,它能够正确地计算出基于UTF-8编码的实际字符个数,因为它属于多字节字符串函数(multibyte string...
这个`.txt`文件的格式是每行包含一对中英文词汇,中间由破折号分隔,例如:`hello-你好`。`search`方法通过`strpos`查找英文关键词在`$special`中的位置,然后使用`substr`截取对应的中文翻译。 在调试过程中,添加...
总的来说,这段PHP代码提供了一种提取中英文词语和数字首字母的方法,适用于需要对混合文本进行处理的场景。需要注意的是,这种方法只适用于GB2312编码下的中文字符,对于其他如GBK或UTF-8编码的中文字符,可能需要...
首先,我们来看`strLength`函数,这个函数用于计算中英文混合字符串的“字符”长度。在中文环境中,一个汉字通常占用三个字节,而英文字符和大部分其他字符(如标点符号)则占用一个字节。因此,计算长度时需要区分...
本知识点将针对如何使用PHP实现自动跳转中英文页面的技术进行详细阐述。 首先,了解HTTP协议中的HTTP_ACCEPT_LANGUAGE头部字段是实现此功能的关键。该字段由客户端浏览器发送到服务器,用以声明客户端所偏好的语言...
以下是一些Oracle数据库中常用的函数,这些函数在SQLPLUS环境下特别实用,尤其是在处理中英文字符集转换时。 1. **CONVERT() 函数**: Oracle的CONVERT函数用于在不同字符集之间转换数据。例如,当你需要在中文和...
中文字符一般占用2个字节,而英文字符占用1个字节,这就导致了中英文字符在长度上的不一致。 在没有特殊处理的情况下,如果要截取的字符串长度设定为5,使用`substr`方法截取英文字符串"***"时,结果是"12345",而...
`LENGTH`函数用于计算字符串的字符数,不区分字符类型(如英文或汉字)。例如,如果你有一个变量`v_str`存储字符串"Hello World",你可以通过`LENGTH(v_str)`获取其长度,即11。 2. 替换函数`REPLACE` `REPLACE`...
除此之外,文章中还介绍了如何根据长度来截取字符串,并区分中英文字符的处理。`subStr(String abc, int len)`方法的实现逻辑是:遍历给定字符串,并对每个字符进行判断,如果字符是英文字符(ASCII码值大于64且小于...
- `substr()`:从字符串中截取指定长度的子串。 - `str_replace()`:替换字符串中指定的部分。 - `str_ireplace()`:与`str_replace`类似,但不区分大小写。 - `strtoupper()`:将字符串转换为大写。 - `...
值得注意的是,`strlen()`不区分字符串中的字符类型,它会将所有字符视为单个单元进行计数,无论是英文、中文、数字还是特殊字符。 ### 字符编码的影响 字符串长度的计算会受到字符编码的影响。在PHP中,默认的...
- **`strtotime()`**: 将任何英文文本日期时间描述解析为 Unix 时间戳。 - **`mktime()`**: 从给定的参数创建一个 Unix 时间戳。 - **`microtime()`**: 返回当前 Unix 时间戳和微秒。 - **`getdate()`**: 返回当前或...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
但请注意,`strlen`不区分中文字符和英文字符,一个中文字符在UTF-8编码下也会被计算为1。 对于"字符统计",可以使用`str_split`函数将字符串转换为字符数组,然后遍历数组进行计数。如果要按字符种类统计,可以...