Kemahiran snippet_javascript kod borang JavaScript yang sangat praktikal

WBOY
Lepaskan: 2016-05-16 15:13:23
asal
1468 orang telah melayarinya

Saya telah menyusun beberapa coretan kod borang Javascript yang lebih praktikal dan berkongsi dengan anda untuk rujukan anda. Kandungan khusus adalah seperti berikut

1 Berbilang kaedah tetingkap.onload

Memandangkan kaedah onload dipanggil secara automatik selepas halaman dimuatkan. Oleh itu, ia digunakan secara meluas, tetapi kelemahannya ialah hanya satu kaedah boleh dilaksanakan menggunakan onload. Coretan kod berikut boleh memastikan bahawa berbilang kaedah dilaksanakan semasa Onload:

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

2 Ungkapan biasa untuk mengalih keluar ruang

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

3 Gunakan peraturan biasa untuk menapis bahasa Cina

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

4 Penyalinan dan pengeluaran semula pengguna adalah dilarang

xxx.oncopy = function(){
 return false;
}
xxx.onpaste = function(){
 return false;
}
Salin selepas log masuk

5 Hadkan panjang rentetan (bezakan antara bahasa Cina dan Inggeris)

Idea utama:

Memerlukan 3 data: 1. Hadkan panjang input; 2. Berapa lama telah dimasukkan;

Memandangkan kaedah pemintasan dalam JS tidak membezakan antara bahasa Cina dan Inggeris, jadi

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

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

Walau bagaimanapun, mengikut pengekodan, satu aksara Cina hendaklah sepadan dengan 2 aksara dan satu huruf hendaklah sepadan dengan satu aksara.

Oleh itu, apabila mengira panjang sebenar, ia mestilah panjang aksara + bilangan aksara Cina

Contohnya, kami mengehadkan input kepada 5 aksara: kemudian selepas memasukkan "haha", anda hanya boleh memasukkan h, dan tiada lagi aksara Cina boleh dimasukkan. Rujukan kod adalah seperti berikut, anda boleh menjalankannya untuk semakan lanjut.

 <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>
Salin selepas log masuk
Semua kod:





 
 
 


 

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

<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>
Salin selepas log masuk
6 Tambah fungsi CSS

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;
};
Salin selepas log masuk
Apabila menggunakan

setCSS(xxx,{
 "position":"relative",
 "top":"0px"
});
Salin selepas log masuk
7 kotak teks penyesuaian

Salin scrollHeight ke style.height

xxx.style.overflowY = "hidden";
xxx.onkeyup = function(){
 xxx.style.height = xxx.scrollHeight+"px";
};
Salin selepas log masuk
8 kotak pilihan untuk memilih, membatalkan dan songsang


//下面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;
 }
}
Salin selepas log masuk
Saya harap artikel ini akan membantu semua orang yang mempelajari pengaturcaraan JavaScript.
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!