JS学习笔记3 TextUtil.js

本文介绍了一组JavaScript工具函数,用于增强HTML表单中的文本框功能,包括限制最大输入长度、阻止或允许特定字符输入、使用键盘上下键调整数字值以及实现自动建议匹配功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


//文本对象
var TextUtil = new Object();

   
//文本框最大长度
 TextUtil.isNotMax = function(oTextArea){
  
return oTextArea.value.length!=oTextArea.getAttribute("maxlength");
 }

 
 
 
//阻止无效的字符
 TextUtil.blockChars = function(oTextbox,oEvent){
  oEvent 
= window.event;
  
var sInvalidChars = oTextbox.getAttribute("invalidchars");
  
var sChar = String.fromCharCode(oEvent.keyCode);

  
var bIsValidChar = sInvalidChars.indexOf(sChar) == -1;
  
  
return bIsValidChar 
  
 }

 
 
 
//允许有效的字符
  TextUtil.allowChars = function(oTextbox,oEvent){
  oEvent 
= window.event;
  
var sInvalidChars = oTextbox.getAttribute("validchars");
  
var sChar = String.fromCharCode(oEvent.keyCode);

  
var bIsValidChar = sInvalidChars.indexOf(sChar) > -1;
  
  
return bIsValidChar 
  
 }

 
 
//使用上下键操作数字
 TextUtil.numericScroll = function(oTextbox,oEvent){
   oEvent 
= window.event;
   
var iValue = oTextbox.value.length == 0 ? 0 :parseInt(oTextbox.value);
   
   
var iMax = oTextbox.getAttribute("max");
   
var iMin = oTextbox.getAttribute("min");
   
   
if(oEvent.keyCode == 38 ){
    
if(iMax == null || iValue<parseInt(iMax)){
    oTextbox.value 
= (iValue + 1);}

   }

   
else if (oEvent.keyCode == 40){
    
if(iMin == null || iValue > parseInt(iMin)){
    oTextbox.value 
= (iValue - 1);}

   }

 }

 
 TextUtil.autosuggestMatch 
= function(sText,arrValues){
   
var arrResult = new Array;
   
   
if(sText !=""){
    
for(var i=0;i<arrValues.length;i++){
      
if(arrValues[i].indexOf(sText)==0){
       arrResult.push(arrValues[i]);
      }

     }

    }

    
return arrResult;
 }

 TextUtil.autosuggest 
= function(oTextbox,arrValues,sListboxId){
  
var oListbox = document.getElementById(sListboxId);
  ListUtil.clear(oListbox);
  
var arrMatches = TextUtil.autosuggestMatch(oTextbox.value,arrValues);
  
  
for(var i=0;i<arrMatches.length;i++){
   ListUtil.add(oListbox,arrMatches[i]);
  }

 }

 
 
 
 
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值