`
woshixushigang
  • 浏览: 576285 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

有样式代码的限字

    博客分类:
  • html
 
阅读更多

编程序时候用到了ckeditor,但是Ckeditor输入汉字等之后传到数据库是加了一些样式的代码,我前台展示的时候需要截取一定长度的汉字。

因为我用java程序截取时候会把样式代码一块算进来,如:<p>我是徐士刚</p>,如果我截取2个字符的话就会展示出<p所以采用js方式。

 

方式1、用div的max-width.但是div支持单行。

方式2、用js截取。

方式3、用正则过滤掉标签。

方式2和方式3都有各自的好处,如果不想用方式2就用方式3,逻辑处理全在类里面,相当较清晰。、

 

具体代码如下:

在文本框中提示字数功能
javascrip代码

<script language="javascript">
function checklen(obj,obj2){
var str = obj.value;
document.getElementById(obj2).innerText = str.length;
}
function DoSubmit(form)
{
if (form.msg.value.length == 0)
{
alert("请填写您的留言信息!");
return false;
}
if (form.msg.value.length > 30)
{
alert("您的留言已超过30个字!");
return false;
}
if (form.lxr.value.length > 10)
{
alert("您的联系方式已超过10个字!");
return false;
}
return true;
}
<script/>
 

 

html代码:

<form name="lmForm" action="xxx" onSubmit="return DoSubmit(this)" method="post"
您的留言信息:可输入30个字
已输入==span id="tno" style="color:red;">0==/span==个字。
==textarea name="msg" cols="60" rows="10" maxlength="30" onpropertychange="checklen(this,'tno')">==/textarea==
您的联系方式:(可输入10个字。)
已输入==span id="tno2" style="color:red;">0==/span==个字。
==textarea name="lxr" cols="30" rows="3" maxlength="10" onpropertychange="checklen(this,'tno2')">==/textarea==
==input type="submit" value="提交" class="button"==
</form>


 

在文本框中限制字数,不分中英文
==textarea name="留言信息" cols="50" rows="6" class="bot" id="youbian" onkeyup="checkLength(this);">==/textarea==
限制字数显示剩余字数,最大长度: 30
还剩: ==span id="chLeft">30==/span==
==script type="text/javascript"==
function checkLength(which) {
var maxChars = 30;
if (which.value.length > maxChars)
which.value = which.value.substring(0,maxChars);
var curr = maxChars - which.value.length;
document.getElementById("chLeft").innerHTML = curr.toString();
}
</script>
 

在文本框能区分并限制中文英字数功能


首先,既然要限制字数,肯定要想办法实时获取用户在文本框里输入的文字的数量。input控件有个length的属性,可以方便地获取字数。可是,它所返回的字数无论是中文还是英文或者数字,1个字就算1个字。客户要限制字数的原因是为了页面显示的时候排版不会乱,因此一个汉字需要按2个英文字符来计算。这样的话,这个默认的length失效了。
怎么区分中文和英文呢?string对象有一个叫charCodeAt(index)的方法,可以获取字符串中某一个字符的编码。因为字母数字的ascii编码都小于255而汉字的编码肯定大于255,因此我们可以使用此方法来判断字符串占用多少英文字符的宽度。

<textarea id="desc" rows="4" cols="20" onchange="showNum();"></textarea>
<span id="areamsg"></span>
<script language="javascript">
function showNum(){
var strTemp=document.getElementById("desc").value;
var sum=0;
for(var i = 0;i==strTemp.length;i++){
if((strTemp.charCodeAt(i)>=0)&&(strTemp.charCodeAt(i)<=255)){
sum=sum+1;
}else{
sum=sum+2;
}
if(sum>10){
var str=strTemp.substring(0,i);
document.getElementById("desc").value=str;
document.getElementById("areamsg").innerHTML="已经输入10字符";
break;
}else{
document.getElementById("areamsg").innerHTML="已输入字符: "+sum;
}
}
}
</script>

 

项目中的实际应用:

部分代码如下:

 

	int sum = 0;
				for (int j = 0; j < content.length(); j++) {
					if ((content.charAt(j) >= 0) && (content.charAt(j) <= 255)) {
						sum = sum + 1;
					} else {
						sum = sum + 2;
					}
					if (sum > 154) {
						request.get().setAttribute("recommend11_content",content.substring(0, j) + "..."); // 行业动态推荐
						break;
					}
					else
					{
						request.get().setAttribute("recommend11_content", content); // 行业动态推荐
					}
				}
 

 

 

 

 

 

分享到:
评论

相关推荐

    myEclipse代码样式文件

    同时,良好的代码样式也有助于新成员快速融入团队,提升整体开发效率。 总的来说,myEclipse的代码样式文件是其强大功能的一部分,它使开发者能够根据需求定制代码规范,提升代码质量。通过深入理解和有效利用...

    项目代码样式设置

    这有助于在早期发现并修正样式问题,避免了在后期合并代码时可能出现的冲突和不便。 总的来说,良好的代码样式设置是软件开发不可或缺的一部分,它能提升团队的生产力,降低维护成本,并且有助于形成专业、统一的...

    qq聊天框样式代码

    QQ聊天框样式代码是网页开发中的一个重要实例,它涉及到HTML、CSS和JavaScript这三种核心技术的综合运用。在网页设计中,聊天框不仅是社交应用的核心组件,也是许多其他类型的交互式应用不可或缺的部分。以下是对...

    纯css3用户功能菜单样式代码

    纯CSS3用户功能菜单样式代码是利用现代浏览器对CSS3特性的支持,设计出美观、交互性强的用户菜单。在Web开发中,菜单是网站或应用程序的重要组成部分,它引导用户轻松访问不同功能或页面。CSS3引入了许多新的选择器...

    很实用的css样式代码案例。

    ### CSS样式代码案例详解 #### 一、概述 在网页设计与开发中,CSS(层叠样式表)扮演着至关重要的角色。它不仅能够美化页面布局,还能够提高页面加载速度,实现更好的用户体验。本文将从给定的CSS代码片段出发,...

    漂亮的css做的网页翻页样式代码

    本文将深入探讨如何使用CSS实现美观的网页翻页效果,以及"漂亮的css做的网页翻页样式代码"所包含的知识点。 首先,我们要理解CSS翻页效果的基本原理。这种效果通常通过CSS3的`transform`属性来实现,它可以改变元素...

    以最简单的方式编写样式代码抛弃reactnative标准的样式创建方式

    标题提到的“以最简单的方式编写样式代码,抛弃react-native标准的样式创建方式”,可能是指使用一些第三方库或自定义方法来简化React Native的样式编写过程。 首先,React Native的标准样式创建方式主要有两种:...

    读书器,可以增大字体,减小字体等,VB6.0源代码

    标题“读书器,可以增大字体,减小字体等,VB6.0源代码”揭示了这是一个基于Visual Basic 6.0(VB6.0)开发的应用程序,主要功能是提供一个阅读器,用户可以调整字体大小,以适应不同阅读需求。这种应用程序对于视力...

    python字体颜色

    描述中提到"可导入该文件后改变python中代码的颜色,但字体是改不了的",这表明我们将讨论如何通过Python的某些库来改变终端或控制台的文本颜色,但需要注意的是,由于系统限制,我们无法直接更改终端显示的字体样式...

    html5文件上传输入框样式代码.zip

    这个压缩包“html5文件上传输入框样式代码.zip”包含了一组示例代码,用于展示如何使用HTML5、CSS和JavaScript(可能还结合了jQuery)来美化传统的文件上传输入框。下面我们将深入探讨这些技术在文件上传中的应用。 ...

    jquery kkpager分页插件带跳转的分页样式代码

    "jQuery kkpager 分页插件"是用于实现这一功能的一个高效工具,尤其适用于那些希望添加具有跳转功能的分页样式的开发者。本篇文章将详细探讨jQuery kkpager插件的工作原理、如何安装、配置以及如何实现带跳转的分页...

    jQuery图片散乱无序排列样式代码.zip

    在“jQuery图片散乱无序排列样式代码”中,我们主要利用jQuery的事件监听和CSS样式修改功能来实现图片的动态效果。 1. **图片散乱无序排列**: 散乱无序排列通常涉及到随机位置的计算。我们可以为每个图片元素设置...

    样式表CSS.ppt学习

    - **颜色属性**:如`color`用于设置文本颜色,可以使用颜色名称、十六进制代码、RGB、RGBA等格式。 - **字体属性**:`font-size`定义字体大小,`font-family`选择字体系列,`font-weight`设置字体粗细。 - **对齐...

    学生档案录入表单样式CSS代码

    本案例中的"学生档案录入表单样式CSS代码"旨在创建一个功能完备且美观的表单界面,用于记录和验证学生信息。 首先,我们关注到这个表单的两个关键特性:手机号和邮箱的自动验证。在HTML5中,我们可以使用内置的输入...

    文字变大js小游戏动画代码.zip

    如果是多个文件,通常会有一个HTML文件作为主页面,一个CSS文件负责样式,一个JavaScript文件处理交互逻辑。 在JavaScript中实现文字变大动画,通常会用到以下知识点: 1. **DOM操作**:JavaScript通过Document ...

    jQuery仿微信聊天文字发送代码.zip

    【jQuery仿微信聊天文字发送代码.zip】是一个包含JavaScript特效的代码资源,主要用于实现类似微信的在线聊天文字发送功能。在这款代码中,开发者利用jQuery库的高效性和易用性,构建了一个简洁且实用的文本输入与...

    Monaco Bold 有粗体的Monaco 超适合代码字体

    然而,原版Monaco的一个小缺憾是它并不包含粗体样式,这在某些情况下可能限制了其视觉效果的多样性。 "Monaco Bold"则是对原版Monaco字体的扩展,由一位国外的字体设计高手精心修改而成,增加了粗体选项。这种改进...

    超强兼容对联广告代码 纯CSS样式编写

    总的来说,编写“超强兼容对联广告代码”是一项挑战,需要对CSS有深入的理解,并熟悉各种浏览器的特性和限制。通过合理利用CSS的布局和定位机制,以及适当的浏览器兼容性处理,我们可以创建出既美观又能在多种环境下...

    字数输入限制按百分比例显示代码

    "字数输入限制按百分比例显示代码"是一种实现这一功能的技术,它允许开发者动态地根据输入框的总字符数限制来显示当前已输入的百分比,为用户提供实时反馈。 首先,我们要理解这个功能的基本工作原理。通常,我们会...

Global site tag (gtag.js) - Google Analytics