Ⅰ js如何限制文本框只能输入数字、下划线、字母,并且要以字母开头,5-20位
用正则
^[a-zA-Z][w]{4,19}$
Ⅱ javascript 使文本框只能输入字母、数字、下划线、长度 5-17位 字母开头
首先,你正则错了~
既然是一共5-17位,那么\w就应该是4-16位,因为前面已经有字母匹配占了一位了
以下是JS代码:
var str = "xxxx"; //这里是文本框输入的文本
/^[a-z]\w{4,16}$/i.test(str); //这个返回值true说明通过,反之不通过
希望对您有帮助~
By Billskate
Ⅲ JS如何限制文本框只能输入小写的金额,且首位不能输0,小数点后只能输入2位
需要准备的材料分别是:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建带输入框的html文件,例如:index.html。
Ⅳ 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;
}
这是一个按字节来检测字符串回长度的函数,只需答传入需检测到字符串,就能返回字节长度,接下来的事情就简单了
Ⅳ 怎么限制文本域textarea的输入字符长度
与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求。通常的做法就是使用JavaScript脚本语言来实现对textarea文本域的字数输入限制,简单而实用。假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为10个字(汉字或其他小角字符):<script language="javascript" type="text/ecmascript"> window.onload = function() { document.getElementById('txta1').onkeydown = function() { if(this.value.length >= 10) event.returnValue = false; } } </script> 它的原理是通过对keydown(键盘键位按下)事件对指定id号的文本区进行监测,可以想象,它只能限制键盘输入,如果用户通过鼠标右键粘贴剪切板中的文本,它无法控制字数。试看以下效果,请尝试用键盘输入:通过键盘输入,以上文本区只能输入10个字。但是,我们的目的并没有达到!请随便复制一些文本,试着用鼠标右键粘贴,看看发生了什么。你可以在网上找到类似上述的其他JS脚本,它们不管多么优秀,其原理都是一样的,通过对keydown、keyup或keypress之类的键盘键位操作事件来监控文本区的输入,无法防止鼠标右键的粘贴,为此,如果一定要真正地限制textarea的字数,我们还得为网页加另一把锁——禁用鼠标右键,这无疑得付出额外的开销,同时也可能是网页制作者不一定愿意做的。其实,还有一个更简单的方法,使用onpropertychange属性。onpropertychange可以用来判断预定元素的value值,当元素的value值发生变化时判断事件就会被触发,仅关心被监测元素的value值,避开了输入的来源,从而可以比较理想地达成我们的限制字数这一目的。它属于JS范畴,可以在表单方框区代表中嵌套使用,以下是代码和效果样式,可以像上面那样测试输入,你会发现它真正达到目的:不管用什么方式输入,它只能输入100个字(汉字或其他小解符号):代码:
Ⅵ 如何限制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
Ⅶ js统计文本框剩余可输入多少字
<inputtype="text"maxlength="10"/>
<p>还可以输入<span></span>个字符</p>
//限制长度不允许超过10.那么我们监测input输入事件。
vaript=document.querySelector('input'),
spa=document.querySelector('span');
//获取可输入最大长度并赋值
spa.innerHTML=ipt.maxLength-ipt.value.length;
//监听input输入事件,oninput,动态获取剩余长度。
ipt.addEventListener('input',function(){
spa.innerHTML=ipt.maxLength-ipt.value.length;
})
//也可以直接规定可输入长度,在输入长度达到边界值再进行删除就可以