1. JavaScript asli mengimplementasikan intersepsi panjang string
Copy kode kodenya sebagai berikut:
fungsi cutstr(str, len) {
vartemp;
var icount = 0;
var pola = /[^/x00-/xff]/;
var str = "";
for (var i = 0; i < str.panjang; i++) {
if (hitungan < len - 1) {
suhu = str.substr(i, 1);
if (patrn.exec(temp) == null) {
hitungan = hitungan + 1
} kalau tidak {
hitungan = hitungan + 2
}
strre += suhu
} kalau tidak {
merusak
}
}
kembalikan strre + "..."
}
2. JavaScript asli untuk mendapatkan nama domain host
Copy kode kodenya sebagai berikut:
fungsi getHost(url) {
var host = "batal";
if(typeof url == "tidak terdefinisi"|| null == url) {
url = jendela.lokasi.href;
}
var regex = /^/w+/:////([^//]*).*/;
var pertandingan = url.pertandingan(regex);
if(typeof match != "tidak terdefinisi" && null != match) {
tuan rumah = cocok[1];
}
kembali menjadi tuan rumah;
}
3. JavaScript asli mengosongkan spasi
Copy kode kodenya sebagai berikut:
String.prototipe.trim = fungsi() {
var reExtraSpace = /^/s*(.*?)/s+$/;
kembalikan ini.ganti(reExtraSpace, "$1")
}
4. Ganti semua dengan JavaScript asli
Copy kode kodenya sebagai berikut:
String.prototipe.replaceAll = fungsi(s1, s2) {
kembalikan ini.ganti(RegExp baru(s1, "gm"), s2)
}
5. Tag html escape JavaScript asli
Copy kode kodenya sebagai berikut:
fungsi HtmlEncode(teks) {
kembalikan teks.replace(/&/g, '&').replace(//"/g, '"').replace(/</g, '<').replace(/>/g, '>' )
}
6. JavaScript asli mengembalikan tag html
Copy kode kodenya sebagai berikut:
fungsi HtmlDecode(teks) {
kembalikan teks.replace(/&/g, '&').replace(/"/g, '/"').replace(/</g, '<').replace(/>/g, '>' )
}
7. Konversi format waktu dan tanggal JavaScript asli
Copy kode kodenya sebagai berikut:
Tanggal.prototipe.Format = function(formatStr) {
var str = formatStr;
var Minggu = ['日', '一', '二', '三', '四', '五', '六'];
str = str.replace(/yyyy|YYYY/, this.getFullYear());
str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100 ));
str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1)) ;
str = str.replace(/M/g, (ini.getMonth() + 1));
str = str.replace(/w|W/g, Minggu[hari ini.getDay()]);
str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
str = str.replace(/d|D/g, this.getDate());
str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
str = str.replace(/h|H/g, this.getHours());
str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
str = str.replace(/m/g, this.getMinutes());
str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
str = str.replace(/s|S/g, this.getSeconds());
kembali str
}
8. JavaScript asli menentukan apakah itu tipe numerik
Copy kode kodenya sebagai berikut:
fungsi isDigit(nilai) {
var pola = /^[0-9]*$/;
if (patrn.exec(nilai) == null || nilai == "") {
kembali salah
} kalau tidak {
kembali benar
}
}
9. JavaScript asli menetapkan nilai cookie
Copy kode kodenya sebagai berikut:
function setCookie(nama, nilai, Jam) {
var d = Tanggal baru();
var offset = 8;
var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
var nd = utc + (3600000 * offset);
var exp = Tanggal baru(nd);
exp.setTime(exp.getTime() + Jam * 60 * 60 * 1000);
document.cookie = nama + "=" + escape(nilai) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"
}
10. Dapatkan nilai cookie dengan JavaScript asli
Copy kode kodenya sebagai berikut:
fungsi getCookie(nama) {
var arr = document.cookie.match(RegExp baru("(^| )" + nama + "=([^;]*)(;|$)"));
jika (arr != null) kembalikan unescape(arr[2]);
kembali nol
}
11. Tambahkan JavaScript asli ke favorit
Copy kode kodenya sebagai berikut:
fungsi TambahFavorit(sURL, sJudul) {
mencoba {
window.external.addFavorite(sURL, sTitle)
} tangkapan(e) {
mencoba {
window.sidebar.addPanel(sJudul, sURL, "")
} tangkapan(e) {
alert("Gagal menambahkan ke favorit, silakan gunakan Ctrl+D untuk menambahkan")
}
}
}
12. Tetapkan JavaScript asli sebagai beranda
Copy kode kodenya sebagai berikut:
fungsi setBeranda() {
if (dokumen.semua) {
document.body.style.behavior = 'url(#default#beranda)';
document.body.setHomePage('http://www.jq-school.com')
} else if (jendela.sidebar) {
if (jendela.netscape) {
mencoba {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
} tangkapan(e) {
alert("Operasi ini ditolak oleh browser. Jika Anda ingin mengaktifkan fitur ini, masukkan about:config di bilah alamat, lalu atur nilai Signed.applets.codebase_principal_support ke true")
}
}
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
prefs.setCharPref('browser.startup.homepage', 'http://www.jq-school.com')
}
}
13. JavaScript asli menentukan IE6
Copy kode kodenya sebagai berikut:
var ua = navigator.userAgent.toLowerCase();
var isIE6 = ua.indexOf("msie 6") > -1;
jika (adalahIE6) {
mencoba {
document.execCommand("BackgroundImageCache", salah, benar)
} tangkapan(e) {}
}
14. JavaScript asli memuat file gaya
Copy kode kodenya sebagai berikut:
fungsi LoadStyle(url) {
mencoba {
dokumen.createStyleSheet(url)
} tangkapan(e) {
var cssLink = dokumen.createElement('link');
cssLink.rel = 'lembar gaya';
cssLink.type = 'teks/css';
cssLink.href = url;
var head = document.getElementsByTagName('head')[0];
kepala.appendChild(cssLink)
}
}
15. JavaScript asli mengembalikan konten skrip
Copy kode kodenya sebagai berikut:
skrip evaluasi fungsi {
if(s.indexOf('<script') == -1) return s;
var p = /<script[^/>]*?>([^/x00]*?)<//script>/ig;
var arr = [];
while(arr = p.exec(s)) {
var p1 = /<script[^/>]*?src=/"([^/>]*?)/"[^/>]*?(reload=/"1/")?(?:charset= /"([/w/-]+?)/")?><//script>/i;
var arr1 = [];
arr1 = p1.exec(arr[0]);
jika(arr1) {
skrip tambahan(arr1[1], '', arr1[2], arr1[3]);
} kalau tidak {
p1 = /<script(.*?)>([^/x00]+?)<//script>/i;
arr1 = p1.exec(arr[0]);
skrip tambahan('', arr1[2], arr1[1].indexOf('reload=') != -1);
}
}
kembali;
}
16. JavaScript asli menghapus konten skrip
Copy kode kodenya sebagai berikut:
skrip strip fungsi {
return s.replace(/<script.*?>.*?<//script>/ig, '');
}
17. JavaScript asli memuat file skrip secara dinamis
Copy kode kodenya sebagai berikut:
fungsi skrip tambahan(src, teks, muat ulang, rangkaian karakter) {
var id = hash(src+teks);
if(!reload && in_array(id, evalscripts)) kembali;
if(muat ulang && $(id)) {
$(id).parentNode.removeChild($(id));
}
evalscripts.push(id);
var scriptNode = document.createElement("skrip");
scriptNode.type = "teks/javascript";
scriptNode.id = id;
scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);
mencoba {
jika(src) {
scriptNode.src = src;
scriptNode.= salah;
scriptNode.onload = fungsi () {
scriptNode.= benar;
JSLOADED[src] = 1;
};
scriptNode.onreadystatechange = fungsi () {
if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.{
scriptNode.= benar;
JSLOADED[src] = 1;
}
};
} lain jika(teks){
scriptNode.teks = teks;
}
document.getElementsByTagName('head')[0].appendChild(scriptNode);
} tangkapan(e) {}
}
18. JavaScript asli mengembalikan objek elemen yang diambil berdasarkan ID
Copy kode kodenya sebagai berikut:
fungsi $(id) {
kembalikan !id ? null : dokumen.getElementById(id);
}
19. JavaScript asli mengembalikan konten versi browser
Copy kode kodenya sebagai berikut:
fungsi browserVersion(jenis) {
var lainnya = 1;
untuk(i dalam tipe) {
var v = tipe[i] ? tipe[i] : saya;
jika(USERAGENT.indexOf(v) != -1) {
var re = RegExp baru(v + '(///|//s)([//d//.]+)', 'ig');
var cocok = re.exec(USERAGENT);
var ver = cocok != null ? cocok[2] : 0;
lainnya = ver !== 0 && v != 'mozilla' ?
}kalau tidak {
var ver = 0;
}
eval('BROWSER.' + i + '= ver');
}
BROWSER.lainnya = lainnya;
}
20. Metode umum untuk menampilkan elemen JavaScript asli
Copy kode kodenya sebagai berikut:
fungsi $(id) {
kembalikan !id ? null : dokumen.getElementById(id);
}
tampilan fungsi(id) {
var objek = $(id);
if(obj.style.visibilitas) {
obj.style.visibility = obj.style.visibility == 'terlihat' ? 'tersembunyi' : 'terlihat';
} kalau tidak {
obj.style.display = obj.style.display == '' ?
}
}
21. Ada metode insertBefore di JavaScript asli, tapi sayangnya tidak ada metode insertAfter? Gunakan fungsi berikut untuk mengimplementasikannya
Copy kode kodenya sebagai berikut:
fungsi insertAfter(anak baru,refChild){
var parElem=refChild.parentNode;
if(parElem.lastChild==refChild){
refChild.appendChild(anak baru);
}kalau tidak{
parElem.insertBefore(newChild,refChild.nextSibling);
}
}
22. Kompatibel dengan peristiwa elemen terikat browser dalam JavaScript asli
Copy kode kodenya sebagai berikut:
fungsi addEventSamp(obj,evt,fn){
if (obj.addEventListener) {
obj.addEventListener(evt, fn, false);
}else if(obj.attachEvent){
obj.attachEvent('on'+evt,fn);
}
}
23. JavaScript Asli dipanggil ketika kursor berhenti di belakang teks dan kotak teks mendapatkan fokus.
Copy kode kodenya sebagai berikut:
fungsi fokusTerakhir(){
var e = acara.srcElement;
var r =e.createTextRange();
r.moveStart('karakter',e.nilai.panjang);
r.runtuh(benar);
r.pilih();
}
24. Native JavaScript memeriksa apakah link URL tersebut valid
Copy kode kodenya sebagai berikut:
fungsi getUrlState(URL){
var xmlhttp = new ActiveXObject("microsoft.xmlhttp");
xmlhttp.Buka("DAPATKAN",URL, salah);
mencoba{
xmlhttp.Kirim();
}menangkap(e){
}Akhirnya{
var hasil = xmlhttp.responseText;
jika(hasil){
if(xmlhttp.Status==200){
kembali (benar);
}kalau tidak{
kembali (salah);
}
}kalau tidak{
kembali (salah);
}
}
}
25. JavaScript asli memformat kode gaya CSS
Copy kode kodenya sebagai berikut:
fungsi formatCss(s){//Memformat kode
s = s.replace(//s*([/{/}/:/;/,])/s*/g, "$1");
s = s.replace(/;/s*;/g, ";"); //Hapus titik koma yang berurutan
s = s.replace(//,[/s/./#/d]*{/g, "{");
s = s.replace(/([^/s])/{([^/s])/g, "$1 {/n/t$2");
s = s.replace(/([^/s])/}([^/n]*)/g, "$1/n}/n$2");
s = s.replace(/([^/s]);([^/s/}])/g, "$1;/n/t$2");
kembali;
}
26. JavaScript asli mengompresi kode gaya CSS
Copy kode kodenya sebagai berikut:
fungsi yasuoCss (s) {//Kode kompresi
s = s.replace(////*(.|/n)*?/*///g, ""); //Hapus komentar
s = s.replace(//s*([/{/}/:/;/,])/s*/g, "$1");
s = s.replace(//,[/s/./#/d]*/{/g, "{"); //Pemrosesan toleransi kesalahan
s = s.replace(/;/s*;/g, ";"); //Hapus titik koma yang berurutan
s = s.match(/^/s*(/S+(/s+/S+)*)/s*$/); //Hapus bagian awal dan akhir
kembali (s == nol) ? "" : s[1];
}
27. JavaScript asli mendapatkan jalur saat ini
Copy kode kodenya sebagai berikut:
var currentPageUrl = "";
if (typeof this.href === "tidak terdefinisi") {
currentPageUrl = dokumen.lokasi.toString().toLowerCase();
}
kalau tidak {
currentPageUrl = ini.href.toString().toLowerCase();
}
28. Ubah IP JavaScript asli menjadi bilangan bulat
Copy kode kodenya sebagai berikut:
fungsi _ip2int(ip){
varnum = 0;
ip = ip.split(".");
angka = Angka(ip[0]) * 256 * 256 * 256 + Angka(ip[1]) * 256 * 256 + Angka(ip[2]) * 256 + Angka(ip[3]);
angka = angka >>> 0;
nomor pengembalian;
}
29. Bilangan bulat JavaScript asli diurai menjadi alamat IP
Copy kode kodenya sebagai berikut:
fungsi _int2iP(angka){
var str;
var tt = Array baru();
tt[0] = (angka >>> 24) >>> 0;
tt[1] = ((angka << 8) >>> 24) >>> 0;
tt[2] = (angka << 16) >>> 24;
tt[3] = (angka << 24) >>> 24;
str = Tali(tt[0]) + "." + Tali(tt[1]) + "." + Tali(tt[2]) + "." + Tali(tt[3]);
kembalikan str;
}
30. JavaScript asli mengimplementasikan pilihan kotak centang atau tidak ada pilihan
Copy kode kodenya sebagai berikut:
fungsi periksaSemua() {
var pilih semua = document.getElementById("pilih semua");
var allbox = dokumen.getElementsByName("allbox");
if (pilih semua. dicentang) {
for (var i = 0; i < allbox.length; i++) {
semua kotak[i].diperiksa = benar;
}
} kalau tidak {
for (var i = 0; i < allbox.length; i++) {
semua kotak[i].dicentang = salah;
}
}
}
Catatan: Seluler (31~40)
31. JavaScript asli menentukan apakah perangkat bersifat seluler
Copy kode kodenya sebagai berikut:
fungsi isMobile(){
if (ketik ini._isMobile === 'boolean'){
kembalikan ini._isMobile;
}
var screenWidth = ini.getScreenWidth();
var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport ||.
var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "baru");
if(!fixViewPortsExperiment){
if(!ini.isAppleMobileDevice()){
screenWidth = screenWidth/window.devicePixelRatio;
}
}
var isMobileScreenSize = Lebar Layar < 600;
var isMobileUserAgent = salah;
this._isMobile = isMobileScreenSize && this.isTouchScreen();
kembalikan ini._isMobile;
}
32. JavaScript asli menentukan apakah akses perangkat seluler
Copy kode kodenya sebagai berikut:
fungsi isMobileUserAgent(){
return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase()));
}
33. JavaScript asli menentukan apakah akses perangkat seluler Apple
Copy kode kodenya sebagai berikut:
fungsi isAppleMobileDevice(){
return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent.toLowerCase()));
}
34. JavaScript asli menentukan apakah akses perangkat seluler Android
Copy kode kodenya sebagai berikut:
fungsi isAndroidMobileDevice(){
return (/android/i.test(navigator.userAgent.toLowerCase()));
}
35. JavaScript asli menentukan apakah layar disentuh
Copy kode kodenya sebagai berikut:
fungsi isTouchScreen(){
return (('ontouchstart' di jendela) || window.DocumentTouch && contoh dokumen DocumentTouch);
}
36. Native JavaScript menentukan apakah itu ada di Google Chrome di Android
Copy kode kodenya sebagai berikut:
fungsi isNewChromeOnAndroid(){
if(ini.isAndroidMobileDevice()){
var userAgent = navigator.userAgent.toLowerCase();
if((/chrome/i.test(agen pengguna))){
var bagian = agen pengguna.split('chrome/');
var fullVersionString = bagian[1].split(" ")[0];
var versionString = fullVersionString.split('.')[0];
var versi = parseInt(versionString);
jika(versi >= 27){
kembali benar;
}
}
}
kembali salah;
}
37. JavaScript asli menentukan apakah akan membuka jendela
Copy kode kodenya sebagai berikut:
fungsi isViewportOpen() {
kembali !!document.getElementById('wixMobileViewport');
}
38. Native JavaScript untuk mendapatkan ukuran awal perangkat seluler
Copy kode kodenya sebagai berikut:
fungsi getInitZoom(){
jika(!ini._initZoom){
var screenWidth = Math.min(layar.tinggi, layar.lebar);
if(ini.isAndroidMobileDevice() && !ini.isNewChromeOnAndroid()){
screenWidth = screenWidth/window.devicePixelRatio;
}
this._initZoom = lebar layar /document.body.offsetWidth;
}
kembalikan ini._initZoom;
}
39. JavaScript asli untuk memaksimalkan ukuran perangkat seluler
Copy kode kodenya sebagai berikut:
fungsi getZoom(){
var screenWidth = (Math.abs(window.orientation) === 90) ? Math.max(screen.height, screen.width) : Math.min(screen.height, screen.width);
if(ini.isAndroidMobileDevice() && !ini.isNewChromeOnAndroid()){
screenWidth = screenWidth/window.devicePixelRatio;
}
var FixViewPortsExperiment = rendererModel.runningExperiments.FixViewport ||.
var FixViewPortsExperimentRunning = FixViewPortsExperiment && (FixViewPortsExperiment === "Baru" || FixViewPortsExperiment === "baru");
if(FixViewPortsExperimentRunning){
kembalikan lebar layar / jendela.lebar dalam;
}kalau tidak{
kembalikan screenWidth / document.body.offsetWidth;
}
}
40. JavaScript asli untuk mendapatkan lebar layar perangkat seluler
Copy kode kodenya sebagai berikut:
fungsi getScreenWidth(){
var smallSide = Math.min(layar.lebar, layar.tinggi);
var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport ||.
var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "baru");
jika(perbaikanViewPortsEksperimen){
if(ini.isAndroidMobileDevice() && !ini.isNewChromeOnAndroid()){
lebih kecilSide = lebih kecilSide/window.devicePixelRatio;
}
}
kembalikan Sisi yang lebih kecil;
}
41. JavaScript asli dengan sempurna menentukan apakah itu sebuah URL
Copy kode kodenya sebagai berikut:
fungsi IsURL(strUrl) {
var reguler = /^/b(((https?|ftp):////)?[-a-z0-9]+(/.[-a-z0-9]+)*/.(?:com|edu |gov|int|mil|net|org|biz|info|nama|museum|a sia|coop|aero|[az][az]|((25[0-5])|(2[0-4]/hari)|(1/hari/hari)|([1-9]/hari )|/d))/b(//[-a-z0-9_:/@&?=+,.!//~%/$]*)?)$/i
if (reguler.test(strUrl)) {
kembali benar;
}
kalau tidak {
kembali salah;
}
}
42. JavaScript asli mengambil objek elemen berdasarkan nama gaya
Copy kode kodenya sebagai berikut:
fungsi getElementsByClassName(nama) {
tag var = dokumen.getElementsByTagName('*') ||.
var els = [];
for (var i = 0; i < tag.panjang; i++) {
jika (tag[i].namakelas) {
var cs = tag[i].className.split(' ');
untuk (var j = 0; j < cs.panjang; j++) {
jika (nama == cs[j]) {
els.push(tag[i]);
merusak
}
}
}
}
kembalikan
}
43. JavaScript asli menentukan apakah ia dimulai dengan string tertentu
Copy kode kodenya sebagai berikut:
String.prototipe.startWith = fungsi (s) {
kembalikan ini.indexOf(s) == 0
}
44. JavaScript asli menentukan apakah diakhiri dengan string tertentu
Copy kode kodenya sebagai berikut:
String.prototipe.endWith = fungsi (s) {
var d = ini.panjang - s.panjang;
kembali (d >= 0 && ini.lastIndexOf(s) == d)
}
45. JavaScript asli mengembalikan nomor versi browser IE
Copy kode kodenya sebagai berikut:
fungsi getIE(){
if (jendela.ActiveXObject){
var v = navigator.userAgent.match(/MSIE ([^;]+)/)[1];
kembalikan parseFloat(v.substring(0, v.indexOf(".")))
}
kembali salah
}
46. Dapatkan tinggi halaman dengan JavaScript asli
Copy kode kodenya sebagai berikut:
fungsi getPageHeight(){
var g = dokumen, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
?A
: g.dokumenElemen;
return Math.max(f.scrollHeight, a.scrollHeight, d.clientHeight);
}
47. JavaScript asli mendapat halaman scrollLeft
Copy kode kodenya sebagai berikut:
fungsi getPageScrollLeft(){
var a = dokumen;
kembalikan a.documentElement.scrollLeft ||.
}
48. JavaScript asli memperoleh lebar halaman yang terlihat
Copy kode kodenya sebagai berikut:
fungsi getPageViewWidth(){
var d = dokumen, a = d.compatMode == "BackCompat"
?d.tubuh
: d.documentElement;
kembalikan a.clientWidth;
}
49. JavaScript asli untuk mendapatkan lebar halaman
Copy kode kodenya sebagai berikut:
fungsi getPageWidth(){
var g = dokumen, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
?A
: g.dokumenElemen;
return Math.max(f.scrollWidth, a.scrollWidth, d.clientWidth);
}
50. JavaScript asli mendapat halaman scrollTop
Copy kode kodenya sebagai berikut:
fungsi getPageScrollTop(){
var a = dokumen;
kembalikan a.documentElement.scrollTop ||.
}
61. JavaScript asli memecahkan masalah kompatibilitas offsetX
Copy kode kodenya sebagai berikut:
// OffsetX/Y tidak didukung untuk Firefox
fungsi getOffset(e){
var target = e.target, //Objek target yang dipicu saat ini
acaraCoord,
halamanCoord,
offsetCoord;
// Hitung jarak dari elemen pemicu saat ini ke dokumen
pageCoord = getPageCoord(target);
// Hitung jarak dari kursor ke dokumen
acaraCoord = {
X : window.pageXOffset + e.clientX,
Y : window.pageYOffset + e.clientY
};
// Kurangi untuk mendapatkan koordinat kursor ke elemen induk yang diposisikan pertama
offsetCoord = {
X : eventCoord.X - halamanCoord.X,
Y : eventCoord.Y - halamanCoord.Y
};
kembalikan offsetCoord;
}
fungsi getPageCoord(elemen){
var koordinat = { X : 0, Y : 0 };
// Hitung dari elemen pemicu saat ini ke node akar,
//Jumlah nilai offsetLeft atau offsetTop dari elemen offsetParent di semua level
sementara (elemen){
coord.X += elemen.offsetLeft;
coord.Y += elemen.offsetTop;
elemen = elemen.offsetParent;
}
koordinat kembali;
}
62. Ekspresi reguler yang biasa digunakan dalam JavaScript asli
Copy kode kodenya sebagai berikut:
//Bilangan bulat positif
/^[0-9]*[1-9][0-9]*$/;
//Bilangan bulat negatif
/^-[0-9]*[1-9][0-9]*$/;
//Nomor floating point positif
/^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/ .[0-9]+)|([0-9]*[1-9][0-9]*))$/;
//Nomor floating point negatif
/^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9] */.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
//Nomor titik mengambang
/^(-?/d+)(/./d+)?$/;
//alamat email
/^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$/;
//alamat url
/^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$/;
//Tahun/bulan/hari (tahun-bulan-hari, tahun.bulan.hari)
/^(19|20)/h/d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9] |3[01])$/;
//Cocokkan karakter Cina
/[/u4e00-/u9fa5]/;
//Apakah akun yang cocok itu sah (dimulai dengan huruf, 5-10 byte diperbolehkan, garis bawah alfanumerik diperbolehkan)
/^[a-zA-Z][a-zA-Z0-9_]{4,9}$/;
//Ekspresi reguler untuk mencocokkan baris kosong
//n/s*/r/;
//Cocokkan kode pos Cina
/[1-9]/hari{5}(?!/hari)/;
//Cocok dengan kartu ID
//h{15}|/h{18}/;
//Cocokkan nomor telepon domestik
/(/d{3}-|/d{4}-)?(/d{8}|/d{7})?/;
// Cocokkan alamat IP
/((2[0-4]/h|25[0-5]|[01]?/h/d?)/.){3}(2[0-4]/h|25[0-5 ]|[01]?/hari/hari?)/;
//Ekspresi reguler yang cocok dengan karakter spasi awal dan akhir
/^/s*|/s*$/;
//Ekspresi reguler cocok dengan tag HTML
< (/S*?)[^>]*>.*?|< .* />;
63. JavaScript asli menerapkan metode umum untuk kembali ke atas
Copy kode kodenya sebagai berikut:
fungsi backTop(btnId) {
var btn = dokumen.getElementById(btnId);
var d = dokumen.documentElement;
var b = dokumen.tubuh;
window.onscroll = mengatur;
btn.style.display = "tidak ada";
btn.onclick = fungsi() {
btn.style.display = "tidak ada";
jendela.onscroll = null;
this.timer = setInterval(fungsi() {
d.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
b.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
if ((d.scrollTop + b.scrollTop) == 0) clearInterval(btn.timer, window.onscroll = set);
},
10);
};
kumpulan fungsi() {
btn.style.display = (d.scrollTop + b.scrollTop > 100) 'blok': "tidak ada"
}
};
backTop('goTop');
64. JavaScript asli memperoleh nilai parameter GET di URL
Copy kode kodenya sebagai berikut:
// Penggunaan: Jika alamatnya adalah test.htm?t1=1&t2=2&t3=3, maka Anda bisa mendapatkan: GET["t1"], GET["t2"], GET["t3"]
fungsi get_get(){
querystr = jendela.lokasi.href.split("?")
if(kueri[1]){
DAPATKAN = querystr[1].split("&")
DAPATKAN =Array baru()
for(i=0;i<GETs.length;i++){
tmp_arr = MENDAPATKAN[i].split("=")
kunci=tmp_arr[0]
DAPATKAN[kunci] = tmp_arr[1]
}
}
kembalikan kueritr[1];
}
65. JavaScript asli menerapkan metode universal untuk memilih semua
Copy kode kodenya sebagai berikut:
fungsi checkall(formulir, awalan, checkall) {
var periksa semua = periksa semua ? periksa semua : 'chkall';
for(var i = 0; i < form.elements.length; i++) {
var e = bentuk.elemen[i];
if(e.type=="kotak centang"){
e.diperiksa = form.elements[checkall].diperiksa;
}
}
}
66. JavaScript asli menerapkan metode universal untuk membatalkan pilihan semua
Copy kode kodenya sebagai berikut:
fungsi hapus centangSemua(formulir) {
untuk (var i=0;i<form.elements.length;i++){
var e = bentuk.elemen[i];
if (e.nama != 'chkall')
e.diperiksa=!e.diperiksa;
}
}
67. Native JavaScript mengimplementasikan metode umum untuk membuka formulir
Copy kode kodenya sebagai berikut:
fungsi openWindow(url,namajendela,lebar,tinggi){
var x = parseInt(layar.lebar / 2.0) - (lebar / 2.0);
var y = parseInt(layar.tinggi / 2.0) - (tinggi / 2.0);
var isMSIE= (navigator.appName == "Microsoft Internet Explorer");
jika (isMSIE) {
var p = "dapat diubah ukurannya=1,lokasi=tidak,bilah gulir=tidak,lebar=";
p = p+lebar;
p = p+",tinggi=";
p = p+tinggi;
p = p+",kiri=";
p = p+x;
p = p+",atas=";
p = p+y;
retval = window.open(url, windowName, p);
} kalau tidak {
var win = window.open(url, "ZyiisPopup", "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,modal=yes,width=" + lebar + ",tinggi=" + tinggi + ",dapat diubah ukurannya=tidak" );
eval("coba { win.resizeTo(lebar, tinggi); } catch(e) {}");
menang.fokus();
}
}
68. JavaScript asli menentukan apakah itu perangkat klien
Copy kode kodenya sebagai berikut:
klien fungsi(o){
var b = navigator.userAgent.toLowerCase();
var t = salah;
jika (o == 'isOP'){
t = b.indexOf('opera') > -1;
}
jika (o == 'adalahIE'){
t = b.indexOf('msie') > -1;
}
jika (o == 'isFF'){
t = b.indexOf('firefox') > -1;
}
kembali t;
}
69. JavaScript asli untuk mendapatkan nilai tombol radio
Copy kode kodenya sebagai berikut:
fungsi get_radio_value(bidang){
if(bidang&&bidang.panjang){
for(var i=0;i<bidang.panjang;i++){
if(bidang[i].dicentang){
bidang kembali[i].nilai;
}
}
}kalau tidak {
kembali ;
}
}
70. Native JavaScript untuk mendapatkan nilai kotak centang
Copy kode kodenya sebagai berikut:
fungsi get_checkbox_value(bidang){
if(bidang&&bidang.panjang){
for(var i=0;i<bidang.panjang;i++){
if(field[i].dicentang && !field[i].disabled){
bidang kembali[i].nilai;
}
}
}kalau tidak {
kembali;
}
}
(71~80) Verifikasi Artikel ini terutama membahas tentang 10 fungsi verifikasi formulir yang umum digunakan, termasuk email, karakter berbahaya, panjang verifikasi, URL verifikasi, verifikasi desimal, bilangan bulat, angka floating point, dan verifikasi lain yang umum digunakan Dengan kode-kode ini Fragmen, validasi formulir normal tidak memerlukan plugin validasi jquery, saya harap ini dapat membantu semua orang. . .
71. JavaScript asli menentukan apakah itu alamat email
Copy kode kodenya sebagai berikut:
fungsi isEmail(str){
var re=/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9] +)*/.[A-Za-z0-9]+$/;
if (re.test(str) != benar) {
kembali salah;
}kalau tidak{
kembali benar;
}
}
72. JavaScript asli menentukan apakah ada karakter berbahaya dalam daftar
Copy kode kodenya sebagai berikut:
fungsi isValidReg(karakter){
var re=/<|>|/[|/]|/{|/}|『|』|※|○|●|◎|§|△|▲|☆|★|◇|◆|□|||| |⊙||ㄅ|ㄆ|ㄇ|ㄈ|ㄉ|ㄊ|ㄋ|ㄌ| ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ| ㄟ|ㄢ|ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ|■||||/*|@|#|/^|///;
if (re.test(karakter) == benar) {
kembali salah;
}kalau tidak{
kembali benar;
}
}
73. JavaScript asli menentukan apakah suatu string lebih besar dari panjang yang ditentukan
Copy kode kodenya sebagai berikut:
fungsi isValidLength(karakter, len) {
if (karakter.panjang <len) {
kembali salah;
}
kembali benar;
}
74. JavaScript asli menentukan apakah suatu string adalah URL dan tidak peka huruf besar-kecil.
Copy kode kodenya sebagai berikut:
fungsi isValidURL( karakter ) {
var re=/^([hH][tT]{2}[pP]:////|[hH][tT]{2}[pP][sS]:////)(/S+/. /S+)$/;
jika (!isNULL(karakter)) {
karakter = jsTrim(karakter);
if (chars.match(re) == null)
kembali salah;
kalau tidak
kembali benar;
}
kembali salah;
}
75. JavaScript asli menentukan apakah suatu string adalah desimal
Copy kode kodenya sebagai berikut:
fungsi isValidDecimal( karakter ) {
var re=/^/d*/.?/d{1,2}$/;
if (chars.match(re) == null)
kembali salah;
kalau tidak
kembali benar;
}
76. JavaScript asli menentukan apakah suatu string merupakan bilangan bulat
Copy kode kodenya sebagai berikut:
fungsi isNumber(karakter) {
var re=/^/d*$/;
if (chars.match(re) == null)
kembali salah;
kalau tidak
kembali benar;
}
77. JavaScript asli menentukan apakah suatu string adalah bilangan floating point
Copy kode kodenya sebagai berikut:
fungsi isFloat( str ) {
untuk(i=0;i<str.panjang;i++) {
if ((str.charAt(i)<"0" || str.charAt(i)>"9")&& str.charAt(i) != '.'){
kembali salah;
}
}
kembali benar;
}
78. Native JavaScript menentukan apakah karakternya adalah huruf A-Za-z bahasa Inggris
Copy kode kodenya sebagai berikut:
fungsi isLetters(str){
var re=/^[A-Za-z]+$/;
if (str.match(re) == null)
kembali salah;
kalau tidak
kembali benar;
}
79. JavaScript asli menentukan apakah suatu string adalah kode pos
Copy kode kodenya sebagai berikut:
fungsi isValidPost( karakter ) {
var re=/^/d{6}$/;
if (chars.match(re) == null)
kembali salah;
kalau tidak
kembali benar;
}
80. JavaScript asli menentukan apakah karakternya NULL
Copy kode kodenya sebagai berikut:
fungsi isNULL(karakter) {
jika (karakter == nol)
kembali benar;
jika (jsTrim(karakter).panjang==0)
kembali benar;
kembali salah;
}
81. JavaScript asli menggunakan ekspresi reguler untuk mengekstrak semua URL di kode halaman
Copy kode kodenya sebagai berikut:
var aa = document.documentElement.outerHTML.match(/(url/(|src=|href=)[/"/']*([^/"/'/(/)/</>/[/] ] +)[/"/'/)]*|(http:////[/w/-/.]+[^/"/'/(/)/</>/[/] ]+)/ig).join("/r/n").replace(/^(src=|href=|url/()[/"/']*|[/"/'/>/) ] *$/igm,"");
peringatan(aa);
82. JavaScript asli menggunakan ekspresi reguler untuk menghapus array yang identik (efisiensi rendah)
Copy kode kodenya sebagai berikut:
Array.prototipe.unik=fungsi(){
kembalikan ini.reverse().join(",").match(/([^,]+)(?!.*/1)/ig).reverse();
}
83. JavaScript asli menggunakan ekspresi reguler untuk menghapus array yang identik (efisiensi tinggi)
Copy kode kodenya sebagai berikut:
String.prototipe.unik=fungsi(){
var x=ini.split(/[/r/n]+/);
var y='';
for(var i=0;i<x.panjang;i++){
if(!new RegExp("^"+x[i].replace(/([^/w])/ig,"//$1")+"$","igm").test(y)){
y+=x[i]+"/r/n"
}
}
kembali kamu
}
84. JavaScript asli menggunakan ekspresi reguler untuk mengurutkan berdasarkan abjad dan mengurutkan setiap baris dalam array
Copy kode kodenya sebagai berikut:
fungsi SetSort(){
var text=K1.nilai.split(/[/r/n]/).sort().join("/r/n");//order
var test=K1.value.split(/[/r/n]/).sort().reverse().join("/r/n");//urutan terbalik
K1.nilai=K1.nilai!=teks?teks:tes;
}
85. Urutan terbalik string JavaScript asli
Copy kode kodenya sebagai berikut:
fungsi IsReverse(teks){
return text.split('').reverse().join('');
}
86. JavaScript asli menggunakan ekspresi reguler untuk menghapus skrip dalam kode html
Copy kode kodenya sebagai berikut:
fungsi clear_script(){
K1.value=K1.value.replace(/<script.*?>[/s/S]*?<//script>|/s+on[a-zA-Z]{3,16}/s ?=/s?"[/s/S]*?"|/s+on[a-zA-Z]{3,16}/s?=/s?'[/s/S]*?'| /s+pada[a-zA-Z]{3,16}/s?=[^ >]+/ig,"");
}
87. JavaScript asli mengeksekusi skrip JavaScript secara dinamis
Copy kode kodenya sebagai berikut:
fungsi javascript(){
mencoba{
eval(K1.nilai);
}menangkap(e){
alert(e.pesan);
}
}
88. JavaScript asli mengeksekusi skrip VBScript secara dinamis
Copy kode kodenya sebagai berikut:
fungsi vbscript(){
mencoba{
var skrip=document.getElementById("K1").value;
if(skrip.trim()=="")return;
window.execScript('On Error Resume Next /n'+script+'/n If Err.Number<>0 Lalu /n MsgBox "Silakan masukkan skrip VBScript yang benar!",48,"Script error!" /n End If' ,"skrip vb")
}menangkap(e){
alert(e.pesan);
}
}
89. JavaScript asli mengimplementasikan fungsi konversi jumlah kapitalisasi
Copy kode kodenya sebagai berikut:
transformasi fungsi(nilai tran) {
mencoba {
var saya = 1;
var dw2 = new Array("", "10.000", "100 juta"); //Unit besar
var dw1 = new Array("十", "百", "千"); //Unit kecil
var dw = new Array("nol", "satu", "dua", "tiga", "empat", "lima", "lu", "tujuh", "delapan", "sembilan"); //Integer Digunakan sebagian
//Berikut ini diubah dari huruf kecil ke huruf besar dan ditampilkan dalam kotak teks huruf besar total
//Pisahkan bilangan bulat dan desimal
var sumber = perpecahan(tranvalue);
var nomor = sumber[0];
var dig = sumber[1];
//Konversi bagian bilangan bulat
var k1 = 0; //Unit kecil
var k2 = 0; //Satuan perhitungan besar
var jumlah = 0;
varstr = "";
var len = sumber[0].panjang; //Panjang bilangan bulat
untuk (saya = 1; saya <= len; saya++) {
var n = source[0].charAt(len - i); //Mendapatkan angka dalam digit tertentu
varbn = 0;
jika (len - i - 1 >= 0) {
bn = source[0].charAt(len - i - 1); //Mendapatkan bilangan sebelum digit tertentu
}
jumlah = jumlah + Angka(n);
jika (jumlah != 0) {
str = dw[Number(n)].concat(str); //Dapatkan nomor huruf besar yang sesuai dengan nomor tersebut dan masukkan di depan string str
jika (n == '0') jumlah = 0;
}
if (len - i - 1 >= 0) { //Dalam rentang angka
if (k1 != 3) {//Tambahkan satuan kecil
jika (bn != 0) {
str = dw1[k1].concat(str);
}
k1++;
} else { //Jangan menambah satuan kecil, tambah satuan
k1 = 0;
var temp = str.charAt(0);
if (temp == "10,000" || temp == "100 juta") //Jika tidak ada angka sebelum satuan besar, maka satuan besar tersebut akan dibuang.
str = str.substr(1, str.panjang - 1);
str = dw2[k2].concat(str);
jumlah = 0;
}
}
if (k1 == 3) //Jika satuan kecil mencapai seribu, satuan besar bertambah satu.
{
k2++;
}
}
//Konversi bagian desimal
var strdig = "";
jika (menggali != "") {
var n = menggali.charAt(0);
jika (n != 0) {
strdig += dw[Bilangan(n)] + "sudut";
}
var n = menggali.charAt(1);
jika (n != 0) {
strdig += dw[Nomor(n)] + "menit";
}
}
str += "元" + strdig;
} tangkapan(e) {
kembalikan "0 yuan";
}
kembalikan str;
}
//Pisahkan bilangan bulat dan desimal
pemisahan fungsi(nilai tran) {
nilai var = Array baru('', '');
temp = tranvalue.split(".");
for (var i = 0; i < temp.length; i++) {
nilai[i] = suhu[i];
}
nilai kembalian;
}
90. Banyak koleksi ekspresi reguler yang biasa digunakan dalam JavaScript asli
Copy kode kodenya sebagai berikut:
Ekspresi reguler untuk mencocokkan karakter Cina: [/u4e00-/u9fa5]
Cocokkan karakter bita ganda (termasuk karakter Cina): [^/x00-/xff]
Ekspresi reguler untuk mencocokkan baris kosong: /n[/s|
Tag HTML pencocokan ekspresi reguler: <(.*)>.*<///1>|<(.*) //>
Ekspresi reguler yang cocok dengan spasi awal dan akhir: (^/s*)|(/s*$)
Alamat IP yang cocok dengan ekspresi reguler: /(/d+)/.(/d+)/.(/d+)/.(/d+)/g
Alamat email yang cocok dengan ekspresi reguler: /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
Ekspresi reguler untuk mencocokkan URL: http://(/[/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?
pernyataan sql: ^(pilih|jatuhkan|hapus|buat|perbarui|masukkan).*$
Bilangan bulat non-negatif: ^/d+$
Bilangan bulat positif: ^[0-9]*[1-9][0-9]*$
Bilangan bulat non-positif: ^((-/d+)|(0+))$
Bilangan bulat negatif: ^-[0-9]*[1-9][0-9]*$
Bilangan bulat: ^-?/d+$
Angka floating point non-negatif: ^/d+(/./d+)?$
Angka floating point positif: ^((0-9)+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9 ] */.[0-9]+)|([0-9]*[1-9][0-9]*))$
Bilangan floating point non-positif: ^((-/d+/./d+)?)|(0+(/.0+)?))$
String bahasa Inggris: ^[A-Za-z]+$
String huruf besar bahasa Inggris: ^[AZ]+$
String huruf kecil bahasa Inggris: ^[az]+$
Karakter bahasa Inggris dan string numerik: ^[A-Za-z0-9]+$
String alfanumerik plus garis bawah: ^/w+$
Alamat email: ^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$
URL: ^[a-zA-Z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/s*)?$ Atau: ^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/': +!]*([^<>/"/"])*$
Kode pos: ^[1-9]/h{5}$
Nomor telepon: ^((/(/d{2,3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2, 3}-)?[1-9]/hari{6,7}(/-/hari{1,4})?$
Nomor ponsel: ^((/(/d{2,3}/))|(/d{3}/-))?13/h{9}$
Karakter byte ganda (termasuk karakter Cina): ^/x00-/xff
Cocokkan spasi awal dan akhir: (^/s*)|(/s*$)
Cocokkan tag HTML: <(.*)>.*<///1>|<(.*) //>
Cocokkan baris kosong: /n[/s|
Ekstrak tautan jaringan dalam informasi: (h|H)(r|R)(e|E)(f|F) *= *('|")?(/w|//|//|/.)+ ('|"| *|>)?
Ekstrak alamat email dalam pesan: /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
Ekstrak link gambar dalam pesan: (s|S)(r|R)(c|C) *= *('|")?(/w|//|//|/.)+('|" |.*|>)?
Ekstrak alamat IP dalam pesan: (/d+)/.(/d+)/.(/d+)/.(/d+)
Ekstrak nomor ponsel Cina di pesan: (86)*0*13/h{9}
Ekstrak nomor telepon rumah Tiongkok di pesan: (/(/d{3,4}/)|/d{3,4}-|/s)?/d{8}
Ekstrak nomor telepon berbahasa Mandarin (termasuk telepon seluler dan telepon rumah) dari pesan: (/(/d{3,4}/)|/d{3,4}-|/s)?/d{7,14}
Ekstrak kode pos berbahasa Mandarin pada informasi: [1-9]{1}(/d+){5}
Ekstrak angka floating point (yaitu desimal) dalam informasi: (-?/d*)/.?/d+
Ekstrak nomor apa pun dari pesan: (-?/d*)(/./d+)?
IP: (/d+)/.(/d+)/.(/d+)/.(/d+)
Kode area telepon: ^0/h{2,3}$
Nomor Tencent QQ: ^[1-9]*[1-9][0-9]*$
Nomor akun (dimulai dengan huruf, diperbolehkan 5-16 byte, diperbolehkan garis bawah alfanumerik): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
Mandarin, Inggris, angka dan garis bawah: ^[/u4e00-/u9fa5_a-zA-Z0-9]+$
91. JavaScript asli mengimplementasikan operasi pengubahan ukuran pada acara perubahan formulir (kompatibel dengan semua browser)
Copy kode kodenya sebagai berikut:
(fungsi(){
var fn = fungsi(){
var w = dokumen.documentElement ? dokumen.documentElement.clientWidth : dokumen.body.clientWidth
,r = 1255
,b = Elemen.extend(document.body)
,namakelas = b.namakelas;
jika(w < r){
//Lakukan operasi terkait ketika lebar formulir kurang dari 1255
}kalau tidak{
//Lakukan operasi terkait ketika lebar formulir lebih besar dari 1255
}
}
if(jendela.addEventListener){
window.addeventListener ('ubah ukuran', fungsi () {fn ();});
} lain jika (window.attachevent) {
window.attachevent ('onresize', function () {fn ();});
}
fn ();
}) ();
92. Javascript asli menggunakan aturan reguler untuk menghapus spasi dan membagi kiri dan kanan
Copy kode kodenya sebagai berikut:
fungsi ltrim (s) {return s.replace (/^(/s *| *)/, "");
fungsi rtrim (s) {return s.replace (/(/s *| *) $/, "");
function trim (s) {return ltrim (rtrim (s));}
93. JavaScript asli menentukan apakah suatu variabel adalah nol
Copy kode kodenya sebagai berikut:
/**
* Tentukan apakah variabelnya kosong
* tidak terdefinisi, null, '', false, 0, [], {} semuanya kembali benar, jika tidak mengembalikan false
*/
fungsi kosong (v) {
sakelar (typeof v) {
kasus 'tidak terdefinisi': return true;
case 'string': if (trim (v) .length == 0) return true;
case 'boolean': if (! v) return true;
Kasus 'Nomor': if (0 === v) Return true;
Kasus 'objek':
if (null === v) return true;
if (tidak terdefinisi! == v.length && v.length == 0) Return true;
untuk (var k in v) {return false;} return true;
merusak;
}
kembali salah;
}
94. JavaScript asli mengimplementasikan decoding base64
Copy kode kodenya sebagai berikut:
function base64_decode (data) {
var b64 = "ABCDEFGHIJKLMNOPQRSUVWXYZABCDEFGHIJKLMNOPQRSUVWXYZ0123456789+/=";
var o1, o2, o3, h1, h2, h3, h4, bit, i = 0, ac = 0, dec = "", tmp_arr = [];
if (! Data) {return data;
data += '';
Mengerjakan {
h1 = b64.indexOf (data.charat (i ++));
h2 = b64.indexof (data.charat (i ++));
h3 = b64.indexOf (data.charat (i ++));
h4 = b64.indexOf (data.charat (i ++));
Bits = H1 << 18 |
o1 = bit >> 16 & 0xff;
o2 = bit >> 8 & 0xff;
o3 = bit & 0xff;
if (h3 == 64) {
tmp_arr [ac ++] = string.fromCharCode (o1);
} lain jika (h4 == 64) {
tmp_arr [ac ++] = string.fromCharCode (o1, o2);
} kalau tidak {
tmp_arr [ac ++] = string.fromCharCode (O1, O2, O3);
}
} while (i <data.length);
dec = tmp_arr.join ('');
dec = utf8_decode (dec);
Kembalikan Dec;
}
95. Native JavaScript mengimplementasikan decoding UTF8
Copy kode kodenya sebagai berikut:
fungsi utf8_decode (str_data) {
var tmp_arr = [], i = 0, ac = 0, c1 = 0, c2 = 0, c3 = 0; str_data += '';
while (i <str_data.length) {
c1 = str_data.charcodeat (i);
if (c1 <128) {
tmp_arr [ac ++] = string.fromCharCode (C1);
i ++;
} else if (c1> 191 && c1 <224) {
c2 = str_data.charcodeat (i + 1);
tmp_arr [ac ++] = string.fromCharCode ((((c1 & 31) << 6) | (C2 & 63));
i += 2;
} kalau tidak {
c2 = str_data.charcodeat (i + 1);
c3 = str_data.charcodeat (i + 2);
tmp_arr [ac ++] = string.fromCharCode ((((c1 & 15) << 12) | ((C2 & 63) << 6) | (C3 & 63));
i += 3;
}
}
return tmp_arr.join ('');
}
96. JavaScript asli memperoleh lebar dan tinggi dari kisaran formulir yang terlihat
Copy kode kodenya sebagai berikut:
function getViewSize () {
var de = document.documentElement;
var db = document.body;
var vieww = de.clientwidth == 0?
var viewh = de.clientHeight == 0?
return array (vieww, viewh);
}
97. Native JavaScript menentukan nomor versi IE (ringkas dan mundur kompatibel!)
Copy kode kodenya sebagai berikut:
var _ie = (function () {
var v = 3, div = document.createElement ('div'), all = div.geteLementsbyTagname ('i');
ketika (
div.innerHtml = '<!-[jika gt yaitu' + (++ v) + ']> <i> </i> <! [Endif]->',
semua [0]
);
mengembalikan v> 4?
} ());
98. Dapatkan nomor versi browser menggunakan JavaScript asli
Copy kode kodenya sebagai berikut:
function browserVersion (type) {
var lainnya = 1;
untuk (i in type) {
var v = tipe [i]?
if (useragent.indexof (v)! = -1) {
var re = regexp baru (v + '(///|//s| :)(ace//d//.#+)', 'ig');
var moothes = re.exec (userAgent);
var = cocok! = NULL?
Lainnya = ver! == 0 && v! = 'Mozilla'?
} kalau tidak {
var ver = 0;
}
eval ('browser.' + i + '= ver');
}
Browser.Anda = Lainnya;
}
99. Fungsi JavaScript asli setengah lebar hingga lebar
Copy kode kodenya sebagai berikut:
fungsi todbc (str) {
var result = '';
untuk (var i = 0; i <str.length; i ++) {
kode = str.charcodeat (i);
if (code> = 33 && code <= 126) {
hasil + = string.fromCharCode (str.charcodeat (i) + 65248);
} else if (code == 32) {
hasil + = string.fromCharCode (str.charcodeat (i) + 12288 - 32);
}kalau tidak{
hasil += str.charat (i);
}
}
hasil pengembalian;
}
100. Fungsi JavaScript Full-Lebah Asli Full
Copy kode kodenya sebagai berikut:
fungsi tocdb (str) {
var result = '';
untuk (var i = 0; i <str.length; i ++) {
kode = str.charcodeat (i);
if (code> = 65281 && code <= 65374) {
hasil += string.fromCharCode (str.charcodeat (i) - 65248);
} else if (code == 12288) {
hasil + = string.fromCharCode (str.charcodeat (i) - 12288 + 32);
}kalau tidak{
hasil += str.charat (i);
}
}
hasil pengembalian;
}