js 字符串截取(包含中英文)

javascript截取字符串(通过substring实现并支持中英文混合) 用js方法substring()、方法substr()实现如标题所示的截取字符串并支持中英文混合,具体代码如下,感兴趣的各位可以参考下哈 立即下载
$(function(){
	debugger;
	var str ="我是大好人";
	var str = "1234567890";
	var len = 3;
	var a = subString(str, len);
	alert(a);
	function subString(str, len) {
		debugger;
        var newLength = 0;
        var newStr = "";
        var chineseRegex = /[^\x00-\xff]/g;
        var singleChar = "";
        var strLength = str.replace(chineseRegex, "**").length;
        for (var i = 0; i < strLength; i++) {
            singleChar = str.charAt(i).toString();
            if (singleChar.match(chineseRegex) != null) {
                newLength += 2;
            }
            else {
                newLength++;
            }
            if (newLength > len) {
                break;
            }
            newStr += singleChar;
        }
        return newStr;
	}
});
--          \xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如, '\x41' 匹配 "A"。'\x041' 则等价于 '\x04' & "1"。正则表达式中可以使用 ASCII 编码。 

--          [^\x00-\xff]即ASCII 编码不在0-255的字符


--          检查是否是汉字或者全角
<script>
alert(/[^\x00-\xff]/g.test('abc'))
alert(/[^\x00-\xff]/g.test('表达'))
</script>

--           charAt() 方法可返回指定位置的字符。

第一个字符位置为 0, 第二个字符位置为 1,以此类推.


--           match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。


另一种写法

$(function(){
	debugger;
	var str ="我是大好人";
//	var str = "1234567890";
	var len = 5;
	var b = subString(str, len);
	alert(b);
	function subString(str, len) {
		debugger;
        var str_length = 0;
        var str_len = 0;
        str_cut = new String();
        str_len = str.length;
        for (var i = 0; i < str_len; i++) {
            var a = str.charAt(i);
            str_length++;
            if (escape(a).length > 4) {
                //中文字符的长度经编码之后大于4  
                str_length++;
            }
            if (str_length > len) {
            	break;
            }
            str_cut = str_cut.concat(a);
        }
        str_cut = str_cut.concat("...");
        return str_cut;
	}
});
escape(string)

返回值

已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。


实例

在本例中,我们将使用 escape() 来编码字符串:

<script type="text/javascript">

document.write(escape("Visit W3School!") + "<br />")
document.write(escape("?!=()#%&"))

</script>

输出:

Visit%20W3School%21
%3F%21%3D%28%29%23%25%26


function subString(str,len){  
        debugger;  
        var newlen = 0;  
        var newstr = "";  
        for ( var int = 0; int <str.length; int++) {  
            var a  = str.charAt(int);  
            newlen++;  
            if(escape(a).length>4){  
                newlen++;  
            }  
            if(newlen>len){  
                break;  
            }  
            newstr = newstr+a;  
        }
        if(newlen>len){
        	newstr = newstr+"...";  
        }
        return newstr;  
    }  



人工智能数据治理——解读AI时代数据治理白皮书 2025【附全文阅读】 摘要:该白皮书面向企业数字化负责人及AI项目推进人员,探讨AI时代数据治理的战略升级。提出"好数据+好数据知识"双基石理念,强调数据需满足"三高"标准(高精度、一致性、时效性)并构建语义知识库。构建四层治理框架,包括数据采集处理、合规安全、知识库建设及质量改进,并介绍AI赋能治理的新范式,如智能ETL和治理Agent体系。同时分析"软件+AI+好数据"的应用模式,为企业实现智能数据治理提供实践指导。(149字) 阅读详情

相关推荐

YOLOv8环境搭建+训练自己的数据详细项目

直接按照路径会有问题,找到自己 requirements.txt 文件路径,我这里是pip install -r D:\ultralytics-main\ultralytics-main\requirements.txt。首先去自己的anaconda的安装的envs(虚拟环境),在导航栏输入cmd,进入命令窗口。到官方网站下载yolo模型 ,下载好后解压,里面有个文件requirements.txt。然后安装ultralytics ,这是必须的。

m0_63172128的博客 2万+

js字符串提取中文、英文、数字

1. 提取中文 str.replace(/[^\u4E00-\u9FA5]/g,’’) 2. 提取英文 str.replace(/[^a-zA-Z]/g,’’) 3. 提取数字 str.replace(/[^\d]/g,’’)

qq_46177396的博客 7067

微信小程序 - 详细实现打开跳转第三方 H5 网页链接,在微信小程序内直接跳转打开第三方网站链接详细教程(支持跳转公众号文章等,直接复制代码即可)

小程序跳转h5,小程序-Taro小程序中打开h5页面链接,...小程序跳转h5链接(web-view)_微信小程序,小程序如何跳转h5页面,小程序跳转到第三方H5网页,微信小程序跳转第三方H5的方法,小程序-实现怎么跳转打开H5网页链接(或跳转至公众号文章,打开第三方网站,放校验文件,怎么配置业务域名,校验文件验证域名,把校验文件放到对面网站,别人的服务器也打不开没权限怎么放呢,勾选不校验合法域名,txt,打不开别人的网页怎么办,真机调试打不开,无法跳转,有什么其他办法不放校验文件吗,后台配置,怎么

🏆 前端领域优质创作者 3万+

Javascript:获取字符串中所有的单词

function judgeWords(name){ let arr= [] ; let new_string = ""; for(let i=0;i<name.length;i++){ if(name[i] != " "){ new_string = new_string + name[i]; } if(name[i+1] == " " || name[i+1] == undefined){ arr.push(n

AD_Camilk的博客 1175

Cursor使用教程:用 Cursor 创建第一个 Java 项目

Cursor是一款基于VS Code的AI编程编辑器,专为开发者设计。安装前需确保JDK 8+、Maven 3.8+等环境配置,支持Windows系统。编辑器提供中文界面选项,可通过扩展市场安装语言包。创建Java项目支持手动和AI提示词两种方式:手动需创建目录结构并编写代码;AI方式则通过自然语言描述快速生成项目框架和代码。标准Java项目包含src/main/java主代码目录、src/test/java测试目录及pom.xml等配置文件。Maven项目中,pom.xml是核心配置文件,管理项目依赖与构

博客 3549

Android RIL(Radio Interface Layer)全面概述和知识要点(3万字长文)

在 Android 系统这个庞大而复杂的体系里,RIL(Radio Interface Layer,无线接口层)绝对是个关键角色。简单来讲,它就像一座桥梁,一头连着手机基带,另一头接着上层应用 ,在应用程序和调制解调器(Modem)之间搭建起了信息交流的通道。想象一下,咱们在手机上点击拨号按钮,或者编辑一条短信发送出去,这些操作产生的请求并不会直接到达手机的基带处理器。而是先由 RIL 接手,它把这些来自上层应用程序的请求,像拨号、发送短信这类,巧妙地转换成能够和基带处理器顺畅交互的命令。

大模型大数据攻城狮的专栏 1600

js 正则表达式 提取字符串 字母部分

【代码】js 正则表达式 提取字符串 字母部分。

tenc1239的博客 858

智能绿植管家:基于 ESP32 的室内植物自动补光与环境调控系统

本文设计的基于 ESP32 的室内植物自动补光与生长环境调控系统,实现了植物生长环境的自动化、智能化管理。硬件选型合理、接线简单,软件逻辑清晰、易于调试,能够有效解决室内植物生长环境不适的问题。系统具备良好的实用性和扩展性,可为园艺爱好者和小型培育场所提供稳定、高效的植物养护方案。

weixin_42300449的博客 148

js截取中英文字符串

原因: 常常在项目中遇到特殊的需求 在固定width的容器中,要去显示固定长度的文字,但有些名称过长或是中英文, 判断代码 (截取需要的长度,过长加省略号) function stringSp(str, len) { var newLength = 0; var newStr = &quot;&quot;; var chineseRegex = /[^\x00-...

大山博客 2023

mediasoup源码分析(二十)服务端架构设计

目录 简介 信令服务(房间服务) 调度服务 媒体服务 简介 流媒体服务器大的方向上可以分为上述三个模块。目前行业内都是分布式服务,独立部署。mediasoup信令与媒体之间虽然可以管道通信。但在行业内,服务之间通过管道通信用的少。 一般是rpc、mq,或者传统的tcp。这块licode架构比较不错,licode是信令和媒体服务通过MQ消息队列解耦。 下面介绍一下这三个服务主要功能,当然文中所说也是一家之言。 信令服务(房间服务) 信令服务也称为房间服务。有的企业把信令和房间分开,信..

lcalqf的专栏 1545

手机银行应用架构设计

网上银行借助互联网、移动通信网络等技术向客户提供金融服务,易受到通讯层面的安全威胁,金融机构应从通讯协议、安全认证、通信链路安全等层面,采取措施有效应对相关风险。网上银行系统服务器端提供网上银行应用服务和核心业务处理功能,金融机构应充分利用物理环境、通信网络、计算环境等领域的防护技术,在攻击者和受保护的资源间建立多道严密的安全防线。 网上银行除直接向用户提供金融服务外,也可能与外部机构开展业务合作。在网上银行系统设计、开发、部署和运营过程中,应充分考虑外部机构的系统可能存在的安全风险,并针对各类风险进行有效

银行信息系统应用架构详解 4834

js字符串如果包含中英文标点符号如何使用split截取

js字符串如果包含中英文标点符号如何使用split截取

weixin_50692948的博客 2127

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

js通过字节长度截取中英文混合字符串

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34186128的博客 178

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

js截取中英文字符串无乱码

js截取中英文字符串无乱码   2012-03-09 13:55:40|  分类: 前端学习 |  标签:js截取中英文字符串   |举报|字号 订阅 function subString(str, len, hasDot) {     var newLength = 0;     var newStr = "";     var chineseRegex = /[^\x0

记得微笑的专栏 773

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

js判断字符长度,含中英文数字以及含中文字符截取的问题

var zfl={}; zfl.GetLength = function(str){ var realLength = 0,len = str.length,charCode = -1; for(var i=0;i<len;i++){ charCode = str.charCodeAt(i); if(charCode>0 && char

莫雪狼的专栏 2846

js截取中英文字符串、标点符号无乱码

js截取中英文[url=http://www.jbxue.com/tags/zifuchuan.html]字符串[/url]、标点符号无乱码。 [code="java"] function subString(str, len, hasDot) { var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\...

南方侯鸟 371

javascript显示过长的中英文混合字符串

js处理包含中英文字的符串 字符长度统计 截取指定字符长度字符串 字符长度统计 中文按照2个字符计算,英文和数字按照一个字符计算 /** *统计字符串总字符数 */ function countStr(str){ var charA; var len = 0; for(var i=0; i<str.length; i=i+1){ charA = str.

li2012xuan的专栏 666

javascript截取中英文混排字符串

/** * 截取指定长度的字符串(中英文混合)* @author xwl * @param String str 要截取的字符串* @param Int start 起始位置 * @param Int length 截取长度* @return String 截取以后字符串 **/ function cutString(str,start,len){  var ilen = start + len;

leemjl的专栏 1032

js截取包含中文的字符串

//将字符串拆成字符,并存到数组中 String.prototype.strToCharsCH = function(){     var chars = new Array();     for (var i = 0; i         chars[i] = [this.substr(i, 1), this.isCHS(i)];     }     String.prototyp

lfy9608110935的专栏 2988

[JS]截取字符,中英文都可以

//截取字符,中英文都可以,hasDot=true 返回值的最后还可以添加3个点 function subString(str, len, hasDot) { var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\xff]/g; var singleChar = ""...

weixin_30348519的博客 144

js含中英文数字以及含中文字符截取的问题

//汉英截取 GetLength: function (str){ //计算长度 for (var i = 0; i < str.length; i++) { charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <= 128)

不积跬步无以至千里 2666

javascript 截取字符串

/* * 描述:截取字符串 * str: 源字符串 * len: 显示的字节数 * suf: 尾部追加字符串 */function substr(str, len, suf) { if (!str || !len) { return ''; } // 预期计数:中文2字节,英文1字节 var a = 0; // 循环计数 var i = 0;

NFA_YY的博客 464

js截取中英、文字符串、标点符号无乱码

js截取中英文字符串无乱码   function subString(str, len, hasDot) {     var newLength = 0;     var newStr = "";     var chineseRegex = /[^\x00-\xff]/g;     var singleChar = "";     var strLength =

永不停歇 4507

截取字符串

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34270865的博客 97
上一篇: JavaScript中for..in循环陷阱介绍
下一篇: Java学习之Iterator(迭代器)的一般用法
ole_triangle_java
博客等级 码龄10年 82粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值