这段JS代码有些地方不懂
来源:3-8 html5约束验证API之validity演示2
黯丶晓
2018-12-22 15:35:25
<input type="number" id="numbers" oninput="checklength(this,5)" step="3">
console.log(numbers.validity);
function checklength(obj,length){
if(obj.value.length>length){
obj.value=obj.value.substr(0,length)}}
这里面的(obj,length)是什么意思?然后obj.value.length又是什么意思?还有obj.value=obj.value.substr(0,length)这一句是什么意思?
1回答
同学你好,这段代码是控制输入框中内容的长度:

定义了一个checklength方法,有两个参数,一个是obj,调用的时候传入的是this,也就是input元素;第二个参数为length,就是想要控制的长度为5。
在方法中进行判断,obj.value也就是input元素中的value属性内容,obj.value.length就是内容的长度。如果input元素内容的长度大于参数传入的长度,就将内容使用substr()方法截取:
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
从0的位置开始截取5个长度,再赋值给input元素的value值,也就是把内容控制在5个长度。如下:

自己可以测试下,祝学习愉快!
相似问题