Heim >Web-Frontend >js-Tutorial >Super praktische JavaScript-Formularcode-Snippet_Javascript-Kenntnisse

Super praktische JavaScript-Formularcode-Snippet_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 15:13:231519Durchsuche

Ich habe einige weitere praktische Javascript-Formularcode-Schnipsel zusammengestellt und sie Ihnen als Referenz zur Verfügung gestellt. Die spezifischen Inhalte sind wie folgt

1 Mehrere window.onload-Methoden

Da die Onload-Methode automatisch aufgerufen wird, nachdem die Seite geladen wurde. Daher ist es weit verbreitet, der Nachteil besteht jedoch darin, dass mit Onload nur eine Methode ausgeführt werden kann. Mit dem folgenden Codeausschnitt kann sichergestellt werden, dass beim Onload mehrere Methoden ausgeführt werden:

 function addLoadEvent(func){
  var oldonload = window.onload;
  if(typeof window.onload != 'function'){
   window.onload = func;
  }else{
   window.onload = function(){
    oldonload();
    func();
   }
  }
 }

2 Regulärer Ausdruck zum Entfernen von Leerzeichen

str.replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g,"");

3 Verwenden Sie reguläre Regeln, um Chinesisch zu filtern

str.replace(/[\u4e00-\u9fa5]/g,"");

4 Das Kopieren und Vervielfältigen durch den Benutzer ist verboten

xxx.oncopy = function(){
 return false;
}
xxx.onpaste = function(){
 return false;
}

5 Zeichenfolgenlänge begrenzen (Unterschied zwischen Chinesisch und Englisch)

Hauptidee:

Erfordert 3 Daten: 1. Begrenzen Sie die Länge der Eingabe; 3. Wie viele Zeichen werden abgefangen;

Da die Abfangmethode in JS nicht zwischen Chinesisch und Englisch unterscheidet, also

 "Hahaha".substr(0,2) ----> Haha

 „haha“.substr(0,2) ---> ha

Gemäß der Kodierung sollte jedoch ein chinesisches Zeichen zwei Zeichen und ein Buchstabe einem Zeichen entsprechen.

Daher sollte die tatsächliche Länge aus der Länge des Zeichens + der Anzahl der chinesischen Schriftzeichen berechnet werden

Beispielsweise beschränken wir die Eingabe auf 5 Zeichen: Nach der Eingabe von „haha“ können Sie dann nur noch ein h eingeben und es können keine weiteren chinesischen Zeichen eingegeben werden. Die Codereferenz lautet wie folgt. Sie können sie zur weiteren Überprüfung ausführen.

 <script type="text/javascript">
  var strLen = (function(){//strlLength的功能相同,但是写法巨麻烦
   return function(_str,_model){
    _model = _model || "Ch"; //En模式下,中文算作1字符;Ch模式下,中文为2个字符
    var _strLen = _str.length; //获取字符串长度
    if(_strLen == 0){
     return 0;
    }else{
     var chinese = _str.match(/[\u4e00-\u9fa5]/g); //匹配中文
     return _strLen + (chinese && _model == "Ch"&#63;chinese.length:0); //为什么要&&?
    }
   }
  })();
  var strLength = function(_str,_model){
   _model = _model || "Ch"; //En模式下,中文算作1字符;Ch模式下,中文为2个字符
   var _strLen = _str.length; //获取字符串长度
   if(_strLen == 0){
    return 0;
   }else{
    var chinese = _str.match(/[\u4e00-\u9fa5]/g); //匹配中文
    return _strLen + (chinese && _model == "Ch"&#63;chinese.length:0); //为什么要&&?
   }
  }
  var funcRemainingCharacters = function(){
   remainingCharacters = document.getElementById("remainingCharacters");
   var clearRemainingCharacters = function(_this){
    var _value = _this.value;
    var _valueLength = _value.length;
    var dataLength = _this.getAttribute("data-length");
    var dataModel = _this.getAttribute("data-model");
    var subLen = dataLength;
    if(dataModel == "Ch"){//仅当开启Ch后,才对重新计算截取的长度
     _valueLength = strLength(_value,dataModel);
     var vv = _value.match(/[\u4e00-\u9fa5]/g); //当输入【哈哈】时,vv是["哈","哈"]数组
     subLen = dataLength - (!vv&#63;0:vv.length);
    }
    //_valueLength代表总共的字符长度,比如哈哈哈 为 6
    //dataLength是我们定义的限制长度,比如 5
    //subLen是计算的截取长度,当输入家具啊
    if(_valueLength > dataLength){
     _this.value = _value.substr(0,subLen);
    }
   }
   remainingCharacters.onfocus = function(){
    clearRemainingCharacters(this);
   }
   remainingCharacters.onkeyup = function(){
    clearRemainingCharacters(this);
   }
   remainingCharacters.onblur = function(){
    clearRemainingCharacters(this);
   }
  }
  addLoadEvent(funcRemainingCharacters);
 </script>
Alle Codes:





 
 
 


 

(支持中英文区分)限制字符串长度

<script type="text/javascript"> var strLen = (function(){//strlLength的功能相同,但是写法巨麻烦 return function(_str,_model){ _model = _model || "Ch"; //En模式下,中文算作1字符;Ch模式下,中文为2个字符 var _strLen = _str.length; //获取字符串长度 if(_strLen == 0){ return 0; }else{ var chinese = _str.match(/[\u4e00-\u9fa5]/g); //匹配中文 return _strLen + (chinese && _model == "Ch"&#63;chinese.length:0); //为什么要&&? } } })(); var strLength = function(_str,_model){ _model = _model || "Ch"; //En模式下,中文算作1字符;Ch模式下,中文为2个字符 var _strLen = _str.length; //获取字符串长度 if(_strLen == 0){ return 0; }else{ var chinese = _str.match(/[\u4e00-\u9fa5]/g); //匹配中文 return _strLen + (chinese && _model == "Ch"&#63;chinese.length:0); //为什么要&&? } } var funcRemainingCharacters = function(){ remainingCharacters = document.getElementById("remainingCharacters"); var clearRemainingCharacters = function(_this){ var _value = _this.value; var _valueLength = _value.length; var dataLength = _this.getAttribute("data-length"); var dataModel = _this.getAttribute("data-model"); var subLen = dataLength; if(dataModel == "Ch"){//仅当开启Ch后,才对重新计算截取的长度 _valueLength = strLength(_value,dataModel); var vv = _value.match(/[\u4e00-\u9fa5]/g); //当输入【哈哈】时,vv是["哈","哈"]数组 subLen = dataLength - (!vv&#63;0:vv.length); } //_valueLength代表总共的字符长度,比如哈哈哈 为 6 //dataLength是我们定义的限制长度,比如 5 //subLen是计算的截取长度,当输入家具啊 if(_valueLength > dataLength){ _this.value = _value.substr(0,subLen); } } remainingCharacters.onfocus = function(){ clearRemainingCharacters(this); } remainingCharacters.onkeyup = function(){ clearRemainingCharacters(this); } remainingCharacters.onblur = function(){ clearRemainingCharacters(this); } } addLoadEvent(funcRemainingCharacters); </script>

6 CSS-Funktion hinzufügen

var setCSS = function(_this,cssOption){
 if(!_this || _this.nodeType === 3 || _this.nodeType === 8 || !_this.style){
  return;
 }
 for(var cs in cssOption){
  _this.style[cs] = cssOption[cs];
 }
 return _this;
};
Bei Verwendung von

setCSS(xxx,{
 "position":"relative",
 "top":"0px"
});

7 adaptive Textfelder

ScrollHeight nach style.height kopieren

xxx.style.overflowY = "hidden";
xxx.onkeyup = function(){
 xxx.style.height = xxx.scrollHeight+"px";
};

8 Kontrollkästchen zum Auswählen, Abbrechen und Umkehren

//下面html代码
<label class="checkbox-inline">
 <input type="checkbox" name="actionSelects">读书
</label>
<label class="checkbox-inline">
 <input type="checkbox" name="actionSelects">跑步
</label>
<label class="checkbox-inline">
 <input type="checkbox" name="actionSelects">游戏
</label>
<label class="checkbox-inline">
 <input type="checkbox" name="actionSelects">游泳
</label>
//下面是js代码
var targets = document.getElementsByName("actionSelects");
var targetsLen = targets.length;
var i = 0;
document.getElementById("allSelect").onclick = function(){
 for(i=0;i<targetsLen;i++){
  targets[i].checked = true;
 }
}    document.getElementById("cancelAllSelect").onclick = function(){
 for(i=0;i<targetsLen;i++){
  targets[i].checked = false;
 }
}
document.getElementById("_select").onclick = function(){
 for(i=0;i<targetsLen;i++){
  targets[i].checked = !targets[i].checked;
 }
}
Ich hoffe, dass dieser Artikel allen beim Erlernen der Javascript-Programmierung hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn