用html+javascript打造公文一键排版系统15:一键删除所有空格

现在我们来实现一键删除所有空格的功能。

一、使用原有的代码来实现,测试效果并不理想

在这之前我们已经为String对象编写了一个使用正则表达式来删除所有空格的方法:

//功能:删除字符串中的所有空格
//记录:20230726创建
String.prototype.eliminateSpace = function()
{
	return this.replace(/\s*/g,"");
}

我们使用它构建了一个测试网页:




	
	
	公文一键排版系统


实时编辑区

调试信息

其中通过点击“删除空格”按钮 ,来将edRichBody.innerText中的空格 删除:

	

运行效果如下:

用html+javascript打造公文一键排版系统15:一键删除所有空格_第1张图片

 空格确实都去掉了,但多段文字变成一行文字,因为在正则表达式中,\s除了匹配空格,也匹配制表符和换行符。

二、从新出发构建新方法,删除全角、半角空格和制表符

那么我们需要再写一个删除半角空格、全角空格和制表符的方法 :

//功能:删除字符串中的所有半角和全角空格
//记录:20230805创建
String.prototype.eliminateBlank = function()
{
	return this.replace(/  \t/g,"");
}

再进行测试:




	
	
	公文一键排版系统


实时编辑区

调试信息

代码运行效果如下:

用html+javascript打造公文一键排版系统15:一键删除所有空格_第2张图片

 测试发现半角、全角空格都被删除了,但HTML代码 代表的空格并没有被删除。

三、再写一个删除HTML代码 nbsp;代码的空格的方法 

所以我们还要为String对象再写一个删除HTML代码 代表的空格的方法: 

//功能:删除字符串中的 
//记录:20230805创建
String.prototype.eliminateNbsp = function()
{
	return this.replace(/ /ig,"");
}

由于nbsp;是HTML的代码,所以要同时修改“删除空格”按钮 的功能代码:

	

完整的测试代码如下:




	
	
	公文一键排版系统


实时编辑区

调试信息

代码运行的效果如下:

用html+javascript打造公文一键排版系统15:一键删除所有空格_第3张图片

 四、美中不足,待改进的地方

我们现在可以一键删除所有的半角和全角空格以及制表符了,但原有的一些排版格式,如字体大小、对齐方式也同时被删除了,能否在删除空格的同时保存原有排版格式呢?

 

你可能感兴趣的:(原创作品,公文一键排版,JavaScript,html,javascript,正则表达式,公文排版,公文一键排版,前端,开发语言)