- 浏览: 2034968 次
- 来自: 武汉
文章分类
- 全部博客 (415)
- UI设计 (19)
- PHP (26)
- PHP工具类 (23)
- 二次开发 (53)
- phpMVC (28)
- javascript (50)
- JS 组件 (20)
- MYSQL (37)
- 其他 (16)
- xml/flash/flex (6)
- 版本控制 (7)
- 开源 (4)
- bug解决 (5)
- Linux (15)
- NoSQL (14)
- 软件设计 (21)
- C/PHP内核 (5)
- 安全性 (8)
- 面试 (18)
- 设计模式 (4)
- 重构 (6)
- 开发配置 (11)
- SQL SERVER (12)
- 采集 (3)
- SEO (2)
- 维护 (15)
- UML (5)
- 硬件标准 (1)
- 架构 (8)
- JAVA (1)
最新评论
-
carry0987:
求大神分離下X3的模板...不然對於PHP7不友好啊...
分离自Discuz模板类和语法 -
青木得海角:
你好,里面的 Crypt/TripleDES.php 和 Cr ...
POS机算法 -
zohog:
楼主,Mac.php中里面的 Crypt/TripleDES. ...
POS机算法 -
zohog:
楼主,Mac.php中里面的 Crypt/TripleDES. ...
POS机算法 -
q59200182:
能不能给个完整的demo 新手上路不会 求带
AngularJs 指令directive之controller,link,compile
//得到字符总数 function getChars(str) { var i = 0; var c = 0.0; var unicode = 0; var len = 0; if (str == null || str == "") { return 0; } len = str.length; for(i = 0; i < len; i++) { unicode = str.charCodeAt(i); if (unicode < 127) { //判断是单字符还是双字符 c += 1; } else { //chinese c += 2; } } return c; } function sb_strlen(str) { return getChars(str); } //截取字符 function sb_substr(str, startp, endp) { var i=0; c = 0; unicode=0; rstr = ''; var len = str.length; var sblen = sb_strlen(str); if (startp < 0) { startp = sblen + startp; } if (endp < 1) { endp = sblen + endp;// - ((str.charCodeAt(len-1) < 127) ? 1 : 2); } // 寻找起点 for(i = 0; i < len; i++) { if (c >= startp) { break; } var unicode = str.charCodeAt(i); if (unicode < 127) { c += 1; } else { c += 2; } } // 开始取 for(i = i; i < len; i++) { var unicode = str.charCodeAt(i); if (unicode < 127) { c += 1; } else { c += 2; } rstr += str.charAt(i); if (c >= endp) { break; } } return rstr; } //调用示例: function getShortFileName(filename) { short_filename = filename; if (sb_strlen(short_filename) > 61) { short_filename = sb_substr(short_filename, 0, 36) + ' ... ' + sb_substr(short_filename, -20); } return short_filename; } var chara = 'ni你2好1啊!' js_self = chara.substr(4); test = sb_substr(chara,4); alert("js_self:"+js_self+"ext:"+test); function mb_strlen(str) { var len = 0; for(var i = 0; i < str.length; i++) { len += str.charCodeAt(i) < 0 || str.charCodeAt(i) > 255 ? (charset == 'utf-8' ? 3 : 2) : 1; } return len; } <script language="JavaScript">
<!--
function CutStrLength(str,Ilength)
{
var tmp=0;
var len=0;
var okLen=0
for(var i=0;i<Ilength;i++)
{
if(str.charCodeAt(i)>255)
tmp+=2
else
len+=1
okLen+=1
if(tmp+len==Ilength)
{
return (str.substring(0,okLen));
break;
}
if(tmp+len>Ilength)
{
return (str.substring(0,okLen-1)+"");
break;
}
}
}
function checkFieldLength(fieldName,fieldDesc,fieldLength)
{
var str=document.getElementById(fieldName).value;
var theLen=0;
var teststr='';
for(i=0;i<str.length;i++)
{
teststr=str.charAt(i);
if(str.charCodeAt(i)>255)
theLen=theLen+2;
else
theLen=theLen+1;
}
document.getElementById('showMsg').innerText=theLen;
if(theLen>fieldLength)
{
document.getElementById('showMsg').innerText=fieldDesc;
//alert(fieldDesc+" 的字段长度超过规定长度!");
//document.getElementById(fieldName).focus();
document.getElementById(fieldName).value=CutStrLength(str,fieldLength);
return false;
}
else
{
return true;
}
}
//-->
</script>
</head>
<body>
<form method="POST" action="">
<textarea id="testArea" name="testArea" rows="3" cols="22" onkeyup="checkFieldLength('testArea', '超过允许输入的字符个数', 20);"
onchange="checkFieldLength('testArea', '超过允许输入的字符个数', 20);"></textarea>
<div id="testInfo">
已经输入:<span id="showMsg"></span></div>
</form>
</body>
</html>
发表评论
-
百度地图接口
2015-10-15 14:57 2133<!DOCTYPE html> <ht ... -
Backbone View入门
2015-08-14 11:55 1520Backbone 是一个 JavaScript 框架,可用于 ... -
Backbone CURD
2015-05-03 15:38 1266前端为什么要用MVC 前 ... -
Angularjs集成第三方插件 Uploadify
2015-03-26 23:01 4118有时候需要用一些第三方插件,比如datepicker,sl ... -
AngularJS 如何做身份验证
2015-03-04 17:32 2762权限的设计中比较常见的就是RBAC基于角色的访问控制,基本 ... -
angularJs 表单验证指令
2014-11-25 17:10 1225angularJs 前端验证指令 var rcSubmi ... -
angularJs 前端的页面分解与组装
2014-09-01 15:48 8287实现前端页面的复用 将分解的页面写成directive. ... -
AngularJS实现鼠标右键事件 事件冒泡
2014-08-26 17:42 5804常规javascript鼠标右键直接在标签上加contex ... -
AngularJS 利用指令集成ZTree
2014-08-20 14:05 1856前段时间一直在看AngularJS的资料,感觉是个很好的框 ... -
js本地存储解决方案
2014-07-04 11:09 584sessionStorage与localStorage ... -
AngularJs 内置指令
2014-06-20 14:27 1884ng-repeat指令可以通过$index返回当前引用的元 ... -
AngularJS Provider,Service,Factory
2014-06-19 12:01 1367provider是干啥的? provider可以为应用提 ... -
AngularJs Scope
2014-06-19 09:21 1313Scope是AngularJS里的一个很重要的概念,简单的 ... -
angularjs 设置全局变量的3种方法
2014-05-30 15:26 1966angularjs自身有二种,设置全局变量的方法,在加上j ... -
AngularJs 指令directive之transclude
2014-05-30 14:19 1899transclude - 编译元素的内容,使它能够被dir ... -
AngularJs 指令directive之require
2014-05-30 13:43 23351controller的用法分为两种情形,一种是requir ... -
AngularJS 服务 demo
2014-05-30 09:22 1848我们知道Angular提供的标准服务组件有以下: $h ... -
AngularJs 指令directive之controller,link,compile
2014-05-30 13:37 42309关于自定义指令的命名,你可以随便怎么起名字都行,官方是推荐 ... -
angularjs 依赖注入
2014-05-29 14:22 1422如果你的应用包含多 ... -
AngularJS $watch变量监视
2014-06-03 13:47 22930在使用AngulaJS编写应用时,我们经常需要做的一件事情 ...
相关推荐
首先,JavaScript内置的substr方法用于截取字符串,但它并不直接支持中文字符长度的计算,因为它假定每个字符占用的字节数是相同的。这就需要我们编写一个能够正确计算中文字节长度的函数,比如上面示例中的getChars...
本文将详细介绍JavaScript中关于字符串处理的一些常用方法,特别是与“截取”相关的功能,这将帮助开发者更好地理解和掌握这些实用技巧。 #### concat —— 字符串拼接 `concat()` 方法用于连接两个或多个字符串。...
它与`slice()`类似,也是根据提供的起始和结束下标来截取字符串。`substring()`不会包含结束位置的字符,且在参数值不确定或为负值时,其表现与`slice()`有所不同。如果结束位置小于开始位置,`substring()`会交换...
### JavaScript截取字符串知识点 在JavaScript中,对字符串进行截取是常见的操作之一,尤其是在处理数据、解析文本或实现特定功能时。本文将详细介绍几种常用的截取字符串的方法,并通过具体的示例代码来解释每种...
Substring截取字符串字符串截取方法 Substring截取字符串字符串截取方法是计算机编程中一种常见的操作,它指的是从字符串中提取某一段子字符串,在不同的编程语言中有不同的实现方式。下面将介绍Substring截取字符...
本文将对JavaScript字符串截取的三个主要函数slice()、substring()和substr()进行详细的比较和分析,以帮助开发者更好地理解和掌握它们在实际编程中的应用。 首先,我们来看slice()函数。slice()函数用于从已有的...
JavaScript 也有 `substring()` 方法,可以在客户端截取字符串。 示例: ```html var str = "Hello, World!"; var subStr = str.substring(7, 12); document.write(subStr); // 输出 "World" ``` 综上所...
在Python中,可以使用内置的`[start:end]`切片操作来截取字符串。如果要考虑字节,我们需要使用`encode()`方法将字符串转化为字节串,因为Python的切片默认是基于字符的。例如: ```python s = "你好,世界" byte_s...
在编程领域,特别是涉及到文本处理的时候,`substring`方法是一个非常常见且重要的工具,它用于从一个字符串中截取部分子字符串。这个方法在Java、JavaScript等许多编程语言中都有提供,我们主要以Java为例来详细...
本文将探讨在JavaScript中如何使用substring()和substr()方法截取字符串,并特别针对中英文混合的字符串提供解决方案。字符串截取是编程中的一项基础操作,它允许我们从一个给定的字符串中提取特定部分的字符序列。 ...
这三种方法都可以用来截取字符串,并返回截取的结果,但是它们之间有着一些区别和特点。 slice() 方法 slice() 方法的语法是 `slice(start, [end])`,其中 `start` 参数表示截取的起始位置,`end` 参数表示截取的...
与`substring()`不同,`substr()`不会根据结束位置停止,而是根据给定的`length`值截取字符。即使`length`超过了字符串剩余的字符数,它也会截取到字符串末尾。比如: ```javascript var a = '0123456789'; console...
### JavaScript字符串截取方法详解 在JavaScript编程语言中,处理字符串是非常常见的需求之一。本文将详细介绍几种常用的字符串截取函数,包括`split()`、`join()`、`substring()`以及`indexOf()`等方法,并通过...
在JavaScript中处理字符串时,经常会遇到需要截取字符串的情况。对于包含中文字符的字符串,由于中文字符通常占两个字节,因此简单的基于字符索引的截取方法可能无法正确处理中文。本篇文章将详细介绍如何使用...
需要注意的是,尽管substr()方法提供了很方便的方式来截取字符串,但在处理大型项目时,更推荐使用slice()和substring()方法。slice()和substring()具有更好的浏览器兼容性,且在某些特定情况下,substr()的行为可能...
JavaScript 中截取字符串的方法主要有三种:`slice()`, `split()`, 和 `substr()`。这些方法在不同的场景下有着各自的特点和用途。 1. **slice()** 方法: - `slice()` 主要用于截取字符串或数组的一部分并返回一...
常用三个的字符串截取函数:substr substring slice,调用方式如下 代码如下: stringObject.slice(start,end) stringObject.substr(start,length) stringObject.substring(start,end) 最明显的是substr,第二个参数...