1. 如何限制textarea标签文本长度
方法1:使用maxlength属性
<textarea id="mess-input" type="text" name="message" maxlength="10"></textarea><br>
使用maxlength即可限制最大字符数,但该属性不兼容IE8,所以考虑用下面的办法。
方法2:js实现-达到最大长度后禁用键盘输入
window.onload = function()
{
document.getElementById('text1').onkeydown = function()
{
if(this.value.length >= 10)
event.returnValue = false;
}
}
上述代码在textarea值长度超过10时,禁用键盘输入。但该方法在firefox17浏览器中不兼容,且有两个bug。
1.长度达到最大以后,由于屏蔽键盘动作,已输入的文本内容无法删除和编辑。
2.如果使用ctrl+v直接粘贴入一段长度超限的文本,则该方法无效。
方法3:js实现-用substr方法截取textarea前端若干字内容
function limitLength(obj, length) {
var desc = obj.value;
obj.value = substr(obj.value, length);
}
function substr(str, length) {
var l = 0, i = 0;
while (l < length && i < str.length) {
l += 1;
if (str.substring(i, i + 1).match(/[\u4e00-\u9fa5]/)) l += 2;
i += 1;
}
return str.substring(0, i);
}
该方法监测文本框输入,当超出最大长度时,从前面截取最大长度个字节放入文本框中。该方法在各浏览器中均支持,且无方法2中的各种问题。
以上就是限制<textarea>标签最大字符数的3种方法,如果需要分别限制中英文字符数的话,在js代码前加一段正则表达式匹配,并分别做限制即可。
中文及字符正则表达式: /[^ -~]+/g
ASCII码正则表达式: /\D+/g
2. 如何用JS 限制text框里面最多为 24个字母或12个汉字,即24字节
我觉得还是直接使用 maxlength,你提到的想用字节来限制其实不合理,字符本身就是给人用眼版睛看的,权只有给机器看的才用字节.既然你是让人来录入数据那就当然是表示:"由人提供数据,并且给人用”,因此你用字符来计数的想法本身有问题.
3. JS中文本输入框验证不为空,且输入字节不能超过2000
<input type="text"
class="inpt w180" validate="{required:true,maxlength:2000,messages:{required:'不能为空',maxlength:'最多输入2000个字符'}}"/>
用jquery validate 一行代码搞定。你写的太复杂了。
4. js或者jquery限制input输入字节
functiongetStringBytesLength(str)
{
varlen=0;
for(vari=0;i<str.length;i++)
{
varstr1=str.charAt(i);
if(str1.getBytesLength()===2)
len+=2;
else
len++;
}
returnlen;
}
这是一个按字节来检测字符串回长度的函数,只需答传入需检测到字符串,就能返回字节长度,接下来的事情就简单了
5. 如何用JS 限制text框里面最多为 24个字母或12个汉字,即24字节。不用mexlength
var reg = /^([a-zA-Z]{1,24}|[\u4e00-\u9fa5]{1,12})$/;
6. JSP,怎样实现控制文本区域的汉字个数,假如说超过1000个字节就无法输入
用js控制一下 。。长度到达1000的时候。。变成只读的。就写不进去了。
7. HTML文本框中怎么限制输入字符长度
<script language="javascript">
function calculate() {
String.prototype.lenB = function(){return this.replace(/[^\x00-\xff]/g,"**").length;}
//var str = "这是一个可以将汉字计算成两个字节的函数";
var str =document.all.uInput.value
alert("count = " + str.lenB());
}
</script>
请输入<input name="uInput" type="text">
<input type="button" value="计算" onclick="calculate()"/>
结果为<input name="result" type="text">
执行下这个代码你就懂了,之后用js对str.lenB()判断就行了,str.lenB()可以将汉字计算成两个字节。
8. 我现在在某个页面插入了一段js代码,但是浏览器一刷新,这段代码就消失了。怎么让插入的js代码始终有
不过要注意几点:
1、这个代码是否可以执行,要看浏览器的安全设置,不是所有的JS都可以执行的
2、地址栏输入的长度限制,即URI的长度限制只能输入4096个字节,当然浏览器的地址栏可能会比这个更短
9. 在页面js 中,怎么将中文字符串转换成2个字节长度16进制数;并在js 环境下解码16进
要要要要要