直接看代码:
参数说明:
str:就是字符串
len:所要限制的字数
str2:以什么来结束,如果不输入就是以...结束
这里作为参数传进来,用户可以任意几个点
//限制字数 function mCutStr(str, len, str2) { if (str == '') { return ''; } if (str2 == '') { var str3 = ''; } else { var str3 = str2 || '...'; } var str_length = 0; //实际长度 var str_len = 0; str_cut = new String(); str_len = str.length; for (var i = 0; i < str_len; i++) { a = str.charAt(i); str_length++; //中文的情况多加1 if (escape(a).length > 4) { //中文字符的长度经编码之后大于4 str_length++; } str_cut = str_cut.concat(a); if (str_length <= len && (i == (str_len - 1) || i == (str_len - 2))) { return str; } if (str_length >= len && i < (str_len - 2)) { str_cut = str_cut.concat(str3); return str_cut; } } }
用的时候直接调方法就ok,
今天又弄了一下
<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JS限制输入字数</title> </head> <body> <p id="p1"></p> <p id="p2"></p> <script type="text/javascript"> function cutstr(str,len,end){ if (str == '') { return ''; } if (end == '') { var str3 = ''; } else { var str3 = end || '...'; } var str_length = 0; var str_len = 0; str_cut = new String(); str_len = str.length; for(var i = 0;i<str_len;i++){ a = str.charAt(i); str_length++; if(escape(a).length > 4){ str_length++; } str_cut = str_cut.concat(a); if(str_length>=len){ str_cut = str_cut.concat(end); return str_cut; } } if(str_length<len){ return str; } } var a = "阿11ss莱s克剪s短发绿卡s时间的福利卡收费"; var b = "你好你好你好你好你好你好"; var p1 = document.getElementById("p1"); var p2 = document.getElementById("p2"); p1.innerHTML = cutstr(a,10,'..'); p2.innerHTML = cutstr(b,10,'....'); </script> </body> </html>
相关推荐
传统的字符数组(如C语言中的char数组)在处理字符串时,通常受到固定长度的限制。而链式字符串则通过动态创建节点来存储每个字符,这样可以灵活地处理任意长度的字符串,避免了数组长度预设的局限性。 首先,我们...
因此,在进行字符串拼接时应当谨慎,并对输入进行适当的验证和限制。 除了上述提到的几种实现字符串拼接的方法外,Solidity还推荐了一种新的字节拼接方式。自Solidity 0.6.0版本以来,我们可以使用`bytes.concat`...
1138:将字符串中的小写字母转换成大写字母 ...输入一行,包含一个字符串(长度不超过100,可能包含空格)。 【输出】 输出转换后的字符串。 【输入样例】 helloworld123Ha 【输出样例】 HELLOWORLD123HA
为了防止缓冲区溢出,可以限制`scanf()`中字符串的宽度,例如`%99s`,这样最多读取99个字符: ```c scanf("%99s", strings[i]); ``` 并且,可以通过检查`scanf()`的返回值确保成功读取了字符串,否则打印错误...
标题 "比较字符串1" 描述的是一个算法训练问题,旨在比较两个字符串的字典序,并在它们不相等时找出第一个不同的字符。这个问题涉及到的主要知识点包括字符串操作、字典序比较以及基本的ASCII码理解。 首先,我们...
`split()`方法返回的是一个字符串数组,长度取决于输入字符串中匹配正则表达式的次数。如果正则表达式不匹配任何内容,结果数组的长度为1,包含整个原始字符串。 ### 6. 避免空元素 有时,连续的分隔符会导致生成空...
2. **错误处理**:检查输入参数是否合法,例如非字符串类型。 3. **性能优化**:考虑在保持正确性的前提下,如何提高函数的执行效率。 4. **代码可读性和可维护性**:遵循良好的编程风格,添加必要的注释,方便他人...
2049:【例5.19】字符串判等 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 26376 通过数: 9899 【题目描述】 判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等。 【输入】 两行,每行...
- 对于不确定长度的字符串,可以考虑使用动态内存分配函数`malloc()`或`calloc()`来创建足够大的空间,避免固定大小数组可能带来的限制。 4. **其他逆序方法**: - **双指针法**:使用两个指针分别指向字符串的...
在设计这个算法时,时间效率是关键,因为输入的字符串长度不超过40个字符。虽然这是一个较小的规模,但考虑到可能的重复操作,优化算法以在常数时间内完成单次操作仍然是必要的。内存限制为512MB,这意味着我们可以...
标题中的“获取一个字符串中的数字组”是指从...例如,输入字符串长度的限制、数字序列的复杂性(如负数、浮点数等),以及错误处理机制。通过这样的练习,我们可以增强对字符串处理、逻辑控制和数据类型转换的理解。
`command`是用户输入的命令字符串,`function`是当命令匹配成功时调用的函数指针。 5. **处理输入**:在`loop()`函数中,使用`SerialCommand.parse()`来处理新的串口输入。这会检查缓冲区中的新数据,并尝试匹配已...
7. **计算字符串宽度**:在编程中,可以使用`boundingRect(with:options:attributes:context:)`方法来计算特定字符串在特定字体和大小下的尺寸。例如,对于`UILabel`,你可以先计算出文本的`intrinsicContentSize`,...
因此,在进行字符串与二维码的转换时,应确保数据的安全性,例如对敏感信息进行加密,或者限制可扫描的二维码类型。 总的来说,字符串与二维码的相互转换是IT领域中一个实用的技术点,广泛应用于各种场景。理解和...
从标准输入读取若干个不含空格的字符串。其中,第一个字符串为模式。其余为待测字符串。 【输出形式】 将匹配于模式的字符串输出到标准输出,每行一个。 【输入样例】 abcd?123* abce123 abcda...
1162:字符串逆序 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 31557 通过数: 20735 【题目描述】 输入一串以‘!’结束的字符,按逆序输出。 【输入】 如题述。 【输出】 如题述。 【输入样例】 abc! 【输出...
- 字符串的最大长度被设置为15,这限制了输入字符串的长度,需要注意实际应用时可能存在的边界情况。 - 在处理大量字符串时,链表的性能可能会受到影响,尤其是在频繁插入操作的情况下。因此,在实际开发中,可以...
在JavaScript中,对`textarea`元素进行输入字符串长度限制是一个常见的需求,特别是在处理用户输入时,需要确保数据格式的正确性。在HTML中,`textarea`控件不像`input[type="text"]`那样可以直接通过`maxlength`...
输入为一个密码字符串,字符串长度不超过50个字符。 输出说明 输出一个整数表示该密码的强度。 输入样例 输入样例1 abcd 输入样例2 ab123 输出样例 样例1输出: 1 样例2输出 2