1. 기본 JavaScript는 문자열 길이 차단을 구현합니다.
다음과 같이 코드 코드를 복사합니다.
함수 cutstr(str, len) {
vartemp;
var icount = 0;
var 패턴 = /[^/x00-/xff]/;
var strre = "";
for (var i = 0; i < str.length; i++) {
if (icount < len - 1) {
온도 = str.substr(i, 1);
if (patrn.exec(temp) == null) {
icount = icount + 1
} 또 다른 {
icount = icount + 2
}
스트레스 += 온도
} 또 다른 {
부서지다
}
}
strre + "..."를 반환합니다.
}
2. 도메인 이름 호스트를 얻기 위한 기본 JavaScript
다음과 같이 코드 코드를 복사합니다.
함수 getHost(url) {
var 호스트 = "널";
if(typeof url == "정의되지 않음"|| null == url) {
URL = window.location.href;
}
var 정규식 = /^/w+/:////([^//]*).*/;
var match = url.match(regex);
if(유형 일치 != "정의되지 않음" && null != 일치) {
호스트 = 일치[1];
}
반환 호스트;
}
3. 기본 JavaScript는 공백을 지웁니다.
다음과 같이 코드 코드를 복사합니다.
String.prototype.trim = 함수() {
var reExtraSpace = /^/s*(.*?)/s+$/;
return this.replace(reExtraSpace, "$1")
}
4. 모두 기본 JavaScript로 교체
다음과 같이 코드 코드를 복사합니다.
String.prototype.replaceAll = 함수(s1, s2) {
return this.replace(new RegExp(s1, "gm"), s2)
}
5. 기본 JavaScript 이스케이프 HTML 태그
다음과 같이 코드 코드를 복사합니다.
함수 HtmlEncode(텍스트) {
return text.replace(/&/g, '&').replace(//"/g, '"').replace(/</g, '<').replace(/>/g, '>' )
}
6. 기본 JavaScript는 html 태그를 복원합니다.
다음과 같이 코드 코드를 복사합니다.
함수 HtmlDecode(텍스트) {
return text.replace(/&/g, '&').replace(/"/g, '/"').replace(/</g, '<').replace(/>/g, '>' )
}
7. 기본 JavaScript 시간 및 날짜 형식 변환
다음과 같이 코드 코드를 복사합니다.
Date.prototype.Format = function(formatStr) {
var str = formatStr;
var Week = ['일', '일', '이', '삼', '사', '오', '六'];
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, (this.getMonth() + 1));
str = str.replace(/w|W/g, Week[this.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());
문자열을 반환
}
8. 기본 JavaScript는 숫자 유형인지 확인합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isDigit(값) {
var 패턴 = /^[0-9]*$/;
if (patrn.exec(value) == null || value == "") {
거짓을 반환하다
} 또 다른 {
true를 반환
}
}
9. 기본 JavaScript는 쿠키 값을 설정합니다.
다음과 같이 코드 코드를 복사합니다.
function setCookie(이름, 값, 시간) {
var d = 새로운 날짜();
var 오프셋 = 8;
var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
var nd = utc + (3600000 * 오프셋);
var exp = new Date(nd);
exp.setTime(exp.getTime() + 시간 * 60 * 60 * 1000);
document.cookie = 이름 + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"
}
10. 기본 JavaScript로 쿠키 값 얻기
다음과 같이 코드 코드를 복사합니다.
함수 getCookie(이름) {
var arr = document.cookie.match(new RegExp("(^| )" + 이름 + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]);
null을 반환
}
11. 즐겨찾기에 기본 JavaScript 추가
다음과 같이 코드 코드를 복사합니다.
함수 AddFavorite(sURL, sTitle) {
노력하다 {
window.external.addFavorite(sURL, sTitle)
} 잡기(e) {
노력하다 {
window.sidebar.addPanel(sTitle, sURL, "")
} 잡기(e) {
Alert("즐겨찾기에 추가하지 못했습니다. 추가하려면 Ctrl+D를 사용하세요.")
}
}
}
12. 기본 JavaScript를 홈페이지로 설정
다음과 같이 코드 코드를 복사합니다.
함수 setHomepage() {
if (document.all) {
document.body.style.behavior = 'url(#default#homepage)';
document.body.setHomePage('http://www.jq-school.com')
} else if (window.sidebar) {
if (window.netscape) {
노력하다 {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
} 잡기(e) {
Alert("브라우저에서 이 작업을 거부했습니다. 이 기능을 활성화하려면 주소 표시줄에 about:config를 입력한 다음 signed.applet.codebase_principal_support 값을 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가 IE6을 결정합니다.
다음과 같이 코드 코드를 복사합니다.
var ua = navigator.userAgent.toLowerCase();
var isIE6 = ua.indexOf("msie 6") > -1;
만약 (isIE6) {
노력하다 {
document.execCommand("BackgroundImageCache", false, true)
} 잡기(e) {}
}
14. 기본 JavaScript 로드 스타일 파일
다음과 같이 코드 코드를 복사합니다.
함수 LoadStyle(url) {
노력하다 {
document.createStyleSheet(url)
} 잡기(e) {
var cssLink = document.createElement('link');
cssLink.rel = '스타일시트';
cssLink.type = '텍스트/css';
cssLink.href = URL;
var head = document.getElementsByTagName('head')[0];
head.appendChild(cssLink)
}
}
15. 기본 JavaScript는 스크립트 콘텐츠를 반환합니다.
다음과 같이 코드 코드를 복사합니다.
함수 평가 스크립트 {
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]);
if(arr1) {
appendscript(arr1[1], '', arr1[2], arr1[3]);
} 또 다른 {
p1 = /<script(.*?)>([^/x00]+?)<//script>/i;
arr1 = p1.exec(arr[0]);
appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);
}
}
반환 s;
}
16. 기본 JavaScript는 스크립트 내용을 지웁니다.
다음과 같이 코드 코드를 복사합니다.
함수 스트립스크립트(들) {
return s.replace(/<script.*?>.*?<//script>/ig, '');
}
17. 네이티브 JavaScript는 스크립트 파일을 동적으로 로드합니다.
다음과 같이 코드 코드를 복사합니다.
함수 추가 스크립트(src, text, reload, charset) {
var id = hash(src + text);
if(!reload && in_array(id, evalscripts)) return;
if(reload && $(id)) {
$(id).parentNode.removeChild($(id));
}
evalscripts.push(id);
var scriptNode = document.createElement("script");
scriptNode.type = "텍스트/자바스크립트";
scriptNode.id = id;
scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);
노력하다 {
if(src) {
scriptNode.src = src;
scriptNode.= 거짓;
scriptNode.onload = 함수() {
scriptNode.= true;
JSLOADED[src] = 1;
};
scriptNode.onreadystatechange = 함수() {
if((scriptNode.readyState == '로드됨' || scriptNode.readyState == '완료') && !scriptNode.{
scriptNode.= true;
JSLOADED[src] = 1;
}
};
} else if(텍스트){
scriptNode.text = 텍스트;
}
document.getElementsByTagName('head')[0].appendChild(scriptNode);
} 잡기(e) {}
}
18. 기본 JavaScript는 ID로 검색된 요소 개체를 반환합니다.
다음과 같이 코드 코드를 복사합니다.
함수 $(ID) {
return!id ? null : document.getElementById(id);
}
19. 기본 JavaScript는 브라우저 버전 콘텐츠를 반환합니다.
다음과 같이 코드 코드를 복사합니다.
함수 browserVersion(types) {
var 기타 = 1;
for(i 유형) {
var v = 유형[i] ? 유형[i] : i;
if(USERAGENT.indexOf(v) != -1) {
var re = new RegExp(v + '(///|//s)([//d//.]+)', 'ig');
var match = re.exec(USERAGENT);
var ver = 일치 != null 일치[2] : 0;
other = ver !== 0 && v != 'mozilla' 0 : 기타;
}또 다른 {
var 버전 = 0;
}
eval('BROWSER.' + i + '= 버전');
}
BROWSER.other = 기타;
}
20. 기본 JavaScript 요소를 표시하는 일반적인 방법
다음과 같이 코드 코드를 복사합니다.
함수 $(ID) {
return!id ? null : document.getElementById(id);
}
함수 표시(id) {
var obj = $(id);
if(obj.style.visibility) {
obj.style.visibility = obj.style.visibility == '표시됨' ? '숨김' : '표시됨';
} 또 다른 {
obj.style.display = obj.style.display == '' ? '없음' : '';
}
}
21. 네이티브 JavaScript에는 insertBefore 메소드가 있지만 아쉽게도 insertAfter 메소드가 없습니다. 다음 함수를 사용하여 구현하시겠습니까?
다음과 같이 코드 코드를 복사합니다.
함수 insertAfter(newChild,refChild){
var parElem=refChild.parentNode;
if(parElem.lastChild==refChild){
refChild.appendChild(newChild);
}또 다른{
parElem.insertBefore(newChild,refChild.nextSibling);
}
}
22. 기본 JavaScript의 브라우저 바인딩 요소 이벤트와 호환됩니다.
다음과 같이 코드 코드를 복사합니다.
함수 addEventSamp(obj,evt,fn){
if(obj.addEventListener) {
obj.addEventListener(evt, fn, false);
}else if(obj.attachEvent){
obj.attachEvent('on'+evt,fn);
}
}
23. 커서가 텍스트 뒤에서 멈추고 텍스트 상자에 초점이 맞춰지면 기본 JavaScript가 호출됩니다.
다음과 같이 코드 코드를 복사합니다.
함수 focusLast(){
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart('character',e.value.length);
r.collapse(true);
r.select();
}
24. 기본 JavaScript는 URL 링크가 유효한지 확인합니다.
다음과 같이 코드 코드를 복사합니다.
함수 getUrlState(URL){
var xmlhttp = new ActiveXObject("microsoft.xmlhttp");
xmlhttp.Open("GET",URL, false);
노력하다{
xmlhttp.Send();
}잡기(e){
}마지막으로{
var 결과 = xmlhttp.responseText;
if(결과){
if(xmlhttp.Status==200){
반환(참);
}또 다른{
반환(거짓);
}
}또 다른{
반환(거짓);
}
}
}
25. 네이티브 JavaScript 형식 CSS 스타일 코드
다음과 같이 코드 코드를 복사합니다.
함수 formatCss(s){//형식 지정 코드
s = s.replace(//s*([/{/}/:/;/,])/s*/g, "$1");
s = s.replace(/;/s*;/g, ";"); //연속된 세미콜론 지우기
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");
반환 s;
}
26. 네이티브 JavaScript는 CSS 스타일 코드를 압축합니다.
다음과 같이 코드 코드를 복사합니다.
함수 yasuoCss(s) {//압축 코드
s = s.replace(////*(.|/n)*?/*///g, "") //댓글 삭제
s = s.replace(//s*([/{/}/:/;/,])/s*/g, "$1");
s = s.replace(//,[/s/./#/d]*/{/g, "{"); //내결함성 처리
s = s.replace(/;/s*;/g, ";"); //연속된 세미콜론 지우기
s = s.match(/^/s*(/S+(/s+/S+)*)/s*$/); //앞뒤 공백 제거
return (s == null) ? "" : s[1];
}
27. 네이티브 JavaScript는 현재 경로를 가져옵니다.
다음과 같이 코드 코드를 복사합니다.
var currentPageUrl = "";
if (typeof this.href === "정의되지 않음") {
currentPageUrl = document.location.toString().toLowerCase();
}
또 다른 {
currentPageUrl = this.href.toString().toLowerCase();
}
28. 기본 JavaScript IP를 정수로 변환
다음과 같이 코드 코드를 복사합니다.
함수 _ip2int(ip){
바넘 = 0;
ip = ip.split(".");
숫자 = 숫자(ip[0]) * 256 * 256 * 256 + 숫자(ip[1]) * 256 * 256 + 숫자(ip[2]) * 256 + 숫자(ip[3]);
숫자 = 숫자 >>> 0;
반환 번호;
}
29. 기본 JavaScript 정수는 IP 주소로 구문 분석됩니다.
다음과 같이 코드 코드를 복사합니다.
함수 _int2iP(숫자){
var str;
var tt = 새로운 배열();
tt[0] = (숫자 >>> 24) >>> 0;
tt[1] = ((숫자 << 8) >>> 24) >>> 0;
tt[2] = (숫자 << 16) >>> 24;
tt[3] = (숫자 << 24) >>> 24;
str = String(tt[0]) + "." + String(tt[1]) + "." + String(tt[2]) + "."
str을 반환;
}
30. 네이티브 JavaScript는 체크박스 선택 또는 선택 없음을 구현합니다.
다음과 같이 코드 코드를 복사합니다.
함수 checkAll() {
var selectall = document.getElementById("selectall");
var allbox = document.getElementsByName("allbox");
if (selectall.checked) {
for (var i = 0; i < allbox.length; i++) {
allbox[i].checked = true;
}
} 또 다른 {
for (var i = 0; i < allbox.length; i++) {
allbox[i].checked = false;
}
}
}
참고: 모바일(31~40)
31. 기본 JavaScript는 장치가 모바일인지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isMobile(){
if (typeof this._isMobile === 'boolean'){
this._isMobile을 반환하세요.
}
var screenWidth = this.getScreenWidth();
var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "new");
if(!fixViewPorts실험){
if(!this.isAppleMobileDevice()){
screenWidth = screenWidth/window.devicePixelRatio;
}
}
var isMobileScreenSize = screenWidth < 600;
var isMobileUserAgent = false;
this._isMobile = isMobileScreenSize && this.isTouchScreen();
this._isMobile을 반환하세요.
}
32. 기본 JavaScript는 모바일 장치 액세스 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isMobileUserAgent(){
return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase()));
}
33. 기본 JavaScript는 Apple 모바일 장치 액세스 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isAppleMobileDevice(){
return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent.toLowerCase()));
}
34. 기본 JavaScript는 Android 모바일 장치 액세스 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isAndroidMobileDevice(){
return (/android/i.test(navigator.userAgent.toLowerCase()));
}
35. 기본 JavaScript는 화면 터치 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isTouchScreen(){
return ((창에서 'ontouchstart') || window.DocumentTouch && DocumentTouch의 문서 인스턴스);
}
36. 기본 JavaScript는 Android의 Google Chrome에 있는지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isNewChromeOnAndroid(){
if(this.isAndroidMobileDevice()){
var userAgent = navigator.userAgent.toLowerCase();
if((/chrome/i.test(userAgent))){
var parts = userAgent.split('chrome/');
var fullVersionString = parts[1].split(" ")[0];
var versionString = fullVersionString.split('.')[0];
var 버전 = parsInt(versionString);
if(버전 >= 27){
사실을 반환;
}
}
}
거짓을 반환;
}
37. 네이티브 JavaScript는 창을 열지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isViewportOpen() {
return !!document.getElementById('wixMobileViewport');
}
38. 모바일 장치의 초기 크기를 얻기 위한 네이티브 JavaScript
다음과 같이 코드 코드를 복사합니다.
함수 getInitZoom(){
if(!this._initZoom){
var screenWidth = Math.min(screen.height, screen.width);
if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
screenWidth = screenWidth/window.devicePixelRatio;
}
this._initZoom = screenWidth /document.body.offsetWidth;
}
this._initZoom을 반환합니다.
}
39. 모바일 장치의 크기를 최대화하는 기본 JavaScript
다음과 같이 코드 코드를 복사합니다.
함수 getZoom(){
var screenWidth = (Math.abs(window.orientation) === 90) ? Math.max(screen.height, screen.width) : Math.min(screen.height, screen.width);
if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
screenWidth = screenWidth/window.devicePixelRatio;
}
var FixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
var FixViewPortsExperimentRunning = FixViewPortsExperiment && (FixViewPortsExperiment === "새로 만들기" || FixViewPortsExperiment === "새로 만들기");
if(FixViewPortsExperimentRunning){
screenWidth / window.innerWidth를 반환합니다.
}또 다른{
screenWidth / document.body.offsetWidth를 반환합니다.
}
}
40. 모바일 장치 화면 너비를 가져오는 기본 JavaScript
다음과 같이 코드 코드를 복사합니다.
함수 getScreenWidth(){
var smallSide = Math.min(screen.width, screen.height);
var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "new");
if(fixViewPorts실험){
if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
더 작은 측면 = 더 작은 측면/window.devicePixelRatio;
}
}
더 작은 쪽을 반환합니다.
}
41. 네이티브 JavaScript는 URL인지 여부를 완벽하게 판별합니다.
다음과 같이 코드 코드를 복사합니다.
함수 IsURL(strUrl) {
var 일반 = /^/b(((https?|ftp):////)?[-a-z0-9]+(/.[-a-z0-9]+)*/.(?:com|edu |gov|int|mil|net|org|biz|info|이름|박물관|a sia|coop|에어로|[az][az]|((25[0-5])|(2[0-4]/d)|(1/d/d)|([1-9]/d )|/d))/b(//[-a-z0-9_:/@&?=+,.!//~%/$]*)?)$/i
if (regular.test(strUrl)) {
사실을 반환;
}
또 다른 {
거짓을 반환;
}
}
42. 네이티브 JavaScript는 스타일 이름을 기반으로 요소 개체를 검색합니다.
다음과 같이 코드 코드를 복사합니다.
함수 getElementsByClassName(이름) {
var 태그 = document.getElementsByTagName('*') || document.all;
var els = [];
for (var i = 0; i < 태그 길이; i++) {
if (태그[i].className) {
var cs = 태그[i].className.split(' ');
for (var j = 0; j < cs.length; j++) {
if (이름 == cs[j]) {
els.push(태그[i]);
부서지다
}
}
}
}
엘을 반환
}
43. 네이티브 JavaScript는 특정 문자열로 시작하는지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
String.prototype.startWith = 함수(들) {
this.indexOf(s) == 0을 반환합니다.
}
44. 네이티브 JavaScript는 특정 문자열로 끝나는지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
String.prototype.endWith = 함수(들) {
var d = this.length - s.length;
반환 (d >= 0 && this.lastIndexOf(s) == d)
}
45. 기본 JavaScript는 IE 브라우저의 버전 번호를 반환합니다.
다음과 같이 코드 코드를 복사합니다.
함수 getIE(){
if (window.ActiveXObject){
var v = navigator.userAgent.match(/MSIE ([^;]+)/)[1];
반환 구문 분석 플로트(v.substring(0, v.indexOf(".")))
}
거짓을 반환하다
}
46. 기본 JavaScript로 페이지 높이 얻기
다음과 같이 코드 코드를 복사합니다.
함수 getPageHeight(){
var g = 문서, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
?에이
: g.documentElement;
return Math.max(f.scrollHeight, a.scrollHeight, d.clientHeight);
}
47. 네이티브 JavaScript는 페이지 scrollLeft를 가져옵니다.
다음과 같이 코드 코드를 복사합니다.
함수 getPageScrollLeft(){
var a = 문서;
return a.documentElement.scrollLeft ||
}
48. 네이티브 JavaScript는 페이지의 보이는 너비를 얻습니다.
다음과 같이 코드 코드를 복사합니다.
함수 getPageViewWidth(){
var d = 문서, a = d.compatMode == "BackCompat"
?d.본체
: d.documentElement;
a.clientWidth를 반환합니다.
}
49. 페이지 너비를 얻는 네이티브 JavaScript
다음과 같이 코드 코드를 복사합니다.
함수 getPageWidth(){
var g = 문서, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
?에이
: g.documentElement;
return Math.max(f.scrollWidth, a.scrollWidth, d.clientWidth);
}
50. 네이티브 JavaScript는 페이지 scrollTop을 얻습니다.
다음과 같이 코드 코드를 복사합니다.
함수 getPageScrollTop(){
var a = 문서;
return a.documentElement.scrollTop ||
}
61. 네이티브 JavaScript는 offsetX 호환성 문제를 해결합니다.
다음과 같이 코드 코드를 복사합니다.
// OffsetX/Y는 Firefox에서 지원되지 않습니다.
함수 getOffset(e){
var target = e.target, //현재 트리거된 대상 객체
이벤트코드,
페이지좌표,
오프셋 좌표;
// 현재 트리거 요소에서 문서까지의 거리를 계산합니다.
pageCoord = getPageCoord(대상);
// 커서에서 문서까지의 거리를 계산합니다.
이벤트코드 = {
X : window.pageXOffset + e.clientX,
Y : window.pageYOffset + e.clientY
};
// 첫 번째 위치에 있는 상위 요소에 대한 커서의 좌표를 얻기 위해 빼기
오프셋 좌표 = {
X : eventCoord.X - pageCoord.X,
Y : eventCoord.Y - pageCoord.Y
};
offsetCoord를 반환합니다.
}
함수 getPageCoord(요소){
var coord = { X : 0, Y : 0 };
// 현재 트리거 요소부터 루트 노드까지 계산합니다.
//모든 레벨의 offsetParent 요소의 offsetLeft 또는 offsetTop 값의 합
while (요소){
coord.X += element.offsetLeft;
coord.Y += element.offsetTop;
요소 = element.offsetParent;
}
반환 코드;
}
62. 기본 JavaScript에서 일반적으로 사용되는 정규식
다음과 같이 코드 코드를 복사합니다.
//양의 정수
/^[0-9]*[1-9][0-9]*$/;
//음의 정수
/^-[0-9]*[1-9][0-9]*$/;
//양수 부동 소수점 수
/^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/ .[0-9]+)|([0-9]*[1-9][0-9]*))$/;
//음수 부동 소수점 수
/^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9] */.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
//부동소수점 수
/^(-?/d+)(/./d+)?$/;
//이메일 주소
/^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$/;
//URL 주소
/^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$/;
//년/월/일 (년-월-일, 년.월.일)
/^(19|20)/d/d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9] |3[01])$/;
//한자 일치
/[/u4e00-/u9fa5]/;
//일치하는 계정이 적법한지 여부(문자로 시작, 5~10바이트 허용, 영숫자 밑줄 허용)
/^[a-zA-Z][a-zA-Z0-9_]{4,9}$/;
//빈 줄과 일치하는 정규식
//n/s*/r/;
//중국 우편번호 일치
/[1-9]/d{5}(?!/d)/;
//신분증 일치
//d{15}|/d{18}/;
//국내 전화번호 매칭
/(/d{3}-|/d{4}-)?(/d{8}|/d{7})?/;
//IP 주소 일치
/((2[0-4]/d|25[0-5]|[01]?/d/d?)/.){3}(2[0-4]/d|25[0-5 ]|[01]?/d/d?)/;
//선행 및 후행 공백 문자와 일치하는 정규식
/^/s*|/s*$/;
//HTML 태그와 일치하는 정규식
< (/S*?)[^>]*>.*?|< .* />;
63. 네이티브 JavaScript는 맨 위로 돌아가는 일반적인 방법을 구현합니다.
다음과 같이 코드 코드를 복사합니다.
함수 backTop(btnId) {
var btn = document.getElementById(btnId);
var d = document.documentElement;
var b = document.body;
window.onscroll = 설정;
btn.style.display = "없음";
btn.onclick = 함수() {
btn.style.display = "없음";
window.onscroll = null;
this.timer = setInterval(function() {
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);
};
함수 집합() {
btn.style.display = (d.scrollTop + b.scrollTop > 100) ? '블록': "없음"
}
};
backTop('goTop');
64. 네이티브 JavaScript는 URL에서 GET 매개변수 값을 얻습니다.
다음과 같이 코드 코드를 복사합니다.
// 사용법: 주소가 test.htm?t1=1&t2=2&t3=3이면 다음을 얻을 수 있습니다: GET["t1"], GET["t2"], GET["t3"]
함수 get_get(){
querystr = window.location.href.split("?")
if(쿼리str[1]){
GET = 쿼리str[1].split("&")
GET =newArray()
for(i=0;i<GETs.length;i++){
tmp_arr = GETs[i].split("=")
키=tmp_arr[0]
GET[키] = tmp_arr[1]
}
}
쿼리str[1] 반환;
}
65. 네이티브 JavaScript는 모든 항목을 선택하는 보편적인 방법을 구현합니다.
다음과 같이 코드 코드를 복사합니다.
function checkall(form, prefix, checkall) {
var checkall = checkall ? checkall : 'chkall';
for(var i = 0; i < form.elements.length; i++) {
var e = form.elements[i];
if(e.type=="체크박스"){
e.checked = form.elements[checkall].checked;
}
}
}
66. 네이티브 JavaScript는 모든 항목을 선택 취소하는 보편적인 방법을 구현합니다.
다음과 같이 코드 코드를 복사합니다.
함수 uncheckAll(양식) {
for (var i=0;i<form.elements.length;i++){
var e = form.elements[i];
if (예: 이름 != 'chkall')
e.checked=!e.checked;
}
}
67. 네이티브 JavaScript는 양식을 여는 일반적인 방법을 구현합니다.
다음과 같이 코드 코드를 복사합니다.
함수 openWindow(url,windowName,너비,높이){
var x = parsInt(screen.width / 2.0) - (너비 / 2.0);
var y = parsInt(screen.height / 2.0) - (높이 / 2.0);
var isMSIE= (navigator.appName == "Microsoft Internet Explorer");
만약 (isMSIE) {
var p = "크기 조정 가능=1, 위치=no, 스크롤바=no, 너비=";
p = p+너비;
p = p+",높이=";
p = p+키;
p = p+",왼쪽=";
p = p+x;
p = p+",top=";
p = p+y;
retval = window.open(url, windowName, p);
} 또 다른 {
var win = window.open(url, "ZyiisPopup", "top=" + y + ",left=" + x + ",scrollbars=" + 스크롤바 + ",dialog=yes,modal=yes,width=" + 너비 + ", 높이=" + 높이 + ",크기 조정 가능=아니요" );
eval("try { win.resizeTo(너비, 높이); } catch(e) { }");
win.focus();
}
}
68. 기본 JavaScript는 클라이언트 장치인지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 클라이언트(o){
var b = navigator.userAgent.toLowerCase();
var t = 거짓;
if (o == 'isOP'){
t = b.indexOf('opera') > -1;
}
if (o == 'isIE'){
t = b.indexOf('msie') > -1;
}
if (o == 'isFF'){
t = b.indexOf('firefox') > -1;
}
t를 반환;
}
69. 라디오 버튼의 값을 가져오는 네이티브 JavaScript
다음과 같이 코드 코드를 복사합니다.
함수 get_radio_value(필드){
if(필드&&필드.길이){
for(var i=0;i<field.length;i++){
if(필드[i].checked){
반환 필드[i].값;
}
}
}또 다른 {
반품 ;
}
}
70. 체크박스의 값을 가져오는 네이티브 JavaScript
다음과 같이 코드 코드를 복사합니다.
함수 get_checkbox_value(필드){
if(필드&&필드.길이){
for(var i=0;i<field.length;i++){
if(필드[i].checked && !field[i].disabled){
반환 필드[i].값;
}
}
}또 다른 {
반품;
}
}
(71~80) 검증 이 글은 주로 이메일, 위험한 문자, 검증 길이, 검증 URL, 소수점, 정수, 부동 소수점 숫자 검증 및 기타 일반적으로 사용되는 검증을 포함하여 일반적으로 사용되는 10가지 양식 검증 기능에 대한 것입니다. 일반 형식 유효성 검사에는 jquery 유효성 검사 플러그인이 필요하지 않습니다. 모든 사람에게 도움이 되기를 바랍니다. . .
71. 네이티브 JavaScript는 이메일 주소인지 여부를 결정합니다
다음과 같이 코드 코드를 복사합니다.
함수 isEmail(str){
var re=/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9] +)*/.[A-Za-z0-9]+$/;
if (re.test(str) != true) {
거짓을 반환;
}또 다른{
사실을 반환;
}
}
72. 네이티브 JavaScript는 목록에 위험한 문자가 있는지 확인합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isValidReg(문자){
var re=/<|>|/[|/]|/{|/}| 『|』|※|○|●|◎|§|Δ|▲|☆|★|◇|◆|□|||| |⊙||ㄅ|ㄆ|ㄇ|ㄈ|ㄉ|ㄊ|ㄋ|ㄌ| ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ| ㄟ|ㄢ|ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ|■|||/*|@|#|/^|///;
if (re.test(chars) == true) {
거짓을 반환;
}또 다른{
사실을 반환;
}
}
73. 기본 JavaScript는 문자열이 지정된 길이보다 큰지 확인합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isValidLength(chars, len) {
if (문자 길이 < len) {
거짓을 반환;
}
사실을 반환;
}
74. 기본 JavaScript는 문자열이 URL인지, 대소문자를 구분하지 않는지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isValidURL( 문자 ) {
var re=/^([hH][tT]{2}[pP]:////|[hH][tT]{2}[pP][sS]:////)(/S+/. /S+)$/;
if (!isNULL(chars)) {
chars = jsTrim(chars);
if (chars.match(re) == null)
거짓을 반환;
또 다른
사실을 반환;
}
거짓을 반환;
}
75. 네이티브 자바스크립트는 문자열이 십진수인지 판단한다
다음과 같이 코드 코드를 복사합니다.
함수 isValidDecimal( 문자 ) {
var re=/^/d*/.?/d{1,2}$/;
if (chars.match(re) == null)
거짓을 반환;
또 다른
사실을 반환;
}
76. 네이티브 자바스크립트는 문자열이 정수인지 판단한다
다음과 같이 코드 코드를 복사합니다.
함수 isNumber(문자) {
var re=/^/d*$/;
if (chars.match(re) == null)
거짓을 반환;
또 다른
사실을 반환;
}
77. 기본 JavaScript는 문자열이 부동 소수점 숫자인지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isFloat(str) {
for(i=0;i<str.length;i++) {
if ((str.charAt(i)<"0" || str.charAt(i)>"9")&& str.charAt(i) != '.'){
거짓을 반환;
}
}
사실을 반환;
}
78. 기본 JavaScript는 문자가 A-Za-z 영문자인지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isLetters(str){
var re=/^[A-Za-z]+$/;
if (str.match(re) == null)
거짓을 반환;
또 다른
사실을 반환;
}
79. 기본 JavaScript는 문자열이 우편번호인지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isValidPost( 문자 ) {
var re=/^/d{6}$/;
if (chars.match(re) == null)
거짓을 반환;
또 다른
사실을 반환;
}
80. 기본 JavaScript는 문자가 NULL인지 여부를 결정합니다.
다음과 같이 코드 코드를 복사합니다.
함수 isNULL(문자) {
if (문자 == null)
사실을 반환;
if (jsTrim(chars).length==0)
사실을 반환;
거짓을 반환;
}
81. 기본 JavaScript는 정규식을 사용하여 페이지 코드의 모든 URL을 추출합니다.
다음과 같이 코드 코드를 복사합니다.
var aa = document.documentElement.outerHTML.match(/(url/(|src=|href=)[/"/']*([^/"/'/(/)/</>/[/] ] +)[/"/'/)]*|(http:////[/w/-/.]+[^/"/'/(/)/</>/[/] ]+)/ig).join("/r/n").replace(/^(src=|href=|url/()[/"/']*|[/"/'/>/) ] *$/igm,"");
경고(aa);
82. 네이티브 JavaScript는 정규식을 사용하여 동일한 배열을 삭제합니다. (낮은 효율성)
다음과 같이 코드 코드를 복사합니다.
Array.prototype.unique=function(){
return this.reverse().join(",").match(/([^,]+)(?!.*/1)/ig).reverse();
}
83. 네이티브 JavaScript는 정규식을 사용하여 동일한 배열을 삭제합니다. (고효율)
다음과 같이 코드 코드를 복사합니다.
String.prototype.unique=function(){
var x=this.split(/[/r/n]+/);
var y='';
for(var i=0;i<x.length;i++){
if(!new RegExp("^"+x[i].replace(/([^/w])/ig,"//$1")+"$","igm").test(y)){
y+=x[i]+"/r/n"
}
}
y를 반환
}
84. 네이티브 JavaScript는 정규식을 사용하여 알파벳순으로 정렬하고 배열의 각 행을 정렬합니다.
다음과 같이 코드 코드를 복사합니다.
함수 SetSort(){
var text=K1.value.split(/[/r/n]/).sort().join("/r/n");//order
var test=K1.value.split(/[/r/n]/).sort().reverse().join("/r/n");//역순
K1.값=K1.값!=텍스트?텍스트:테스트;
}
85. 네이티브 자바스크립트 문자열 역순
다음과 같이 코드 코드를 복사합니다.
함수 IsReverse(텍스트){
return text.split('').reverse().join('');
}
86. 기본 JavaScript는 정규식을 사용하여 HTML 코드의 스크립트를 지웁니다.
다음과 같이 코드 코드를 복사합니다.
함수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+on[a-zA-Z]{3,16}/s?=[^ >]+/ig,"");
}
87. 네이티브 JavaScript는 JavaScript 스크립트를 동적으로 실행합니다.
다음과 같이 코드 코드를 복사합니다.
함수 자바스크립트(){
노력하다{
eval(K1.값);
}잡기(e){
경고(e.메시지);
}
}
88. 네이티브 JavaScript는 VBScript 스크립트를 동적으로 실행합니다.
다음과 같이 코드 코드를 복사합니다.
함수 vbscript(){
노력하다{
var script=document.getElementById("K1").value;
if(script.trim()=="")return;
window.execScript('오류 발생 시 다음 재개 /n'+script+'/n If Err.Number<>0 Then /n MsgBox "올바른 VBScript 스크립트를 입력하십시오!",48,"스크립트 오류!" /n End If' ,"vb스크립트")
}잡기(e){
경고(e.메시지);
}
}
89. 네이티브 JavaScript는 금액 대소문자 변환 기능을 구현합니다.
다음과 같이 코드 코드를 복사합니다.
함수 변환(transvalue) {
노력하다 {
var i = 1;
var dw2 = new Array("", "10,000", "1억"); //대형 단위
var dw1 = new Array("十", "百", "千"); //소형 단위
var dw = new Array("제로", "1", "2", "3", "4", "5", "lu", "7", "8", "9"); 부분적으로 사용됨
//다음 내용을 소문자에서 대문자로 변환하여 전체 대문자 텍스트 상자에 표시합니다.
//정수와 소수를 분리합니다.
var 소스 = 분할(tranvalue);
var 번호 = 소스[0];
var dig = 소스[1];
//정수 부분을 변환합니다.
var k1 = 0; //소형 단위
var k2 = 0; //큰 계산 단위
var 합계 = 0;
var str = "";
var len = source[0].length; //정수의 길이
for (i = 1; i <= len; i++) {
var n = source[0].charAt(len - i); //특정 숫자의 숫자를 가져옵니다.
varbn = 0;
if (len - i - 1 >= 0) {
bn = source[0].charAt(len - i - 1); //특정 숫자 이전의 숫자를 가져옵니다.
}
합계 = 합계 + 숫자(n);
if (합계 != 0) {
str = dw[Number(n)].concat(str); //숫자에 해당하는 대문자 숫자를 구해 str 문자열 앞에 삽입합니다.
if (n == '0') 합계 = 0;
}
if (len - i - 1 >= 0) { //숫자 범위 내
if (k1 != 3) { //소형 유닛 추가
if (bn != 0) {
str = dw1[k1].concat(str);
}
k1++;
} else { //작은 단위를 추가하지 않고 단위를 늘립니다.
k1 = 0;
var 임시 = str.charAt(0);
if (temp == "10,000" || temp == "1억") //대형 유닛 앞에 숫자가 없으면 대형 유닛은 폐기됩니다.
str = str.substr(1, str.length - 1);
str = dw2[k2].concat(str);
합계 = 0;
}
}
if (k1 == 3) //작은 단위가 1000개에 도달하면 큰 단위가 1개 증가합니다.
{
k2++;
}
}
//소수점 부분 변환
var strdig = "";
if (파기 != "") {
var n = dig.charAt(0);
if (n != 0) {
strdig += dw[Number(n)] + "angle" //숫자 추가
}
var n = dig.charAt(1);
if (n != 0) {
strdig += dw[Number(n)] + "분" //숫자 추가;
}
}
str += "원" + strdig;
} 잡기(e) {
"0위안"을 반환합니다.
}
str을 반환;
}
//정수와 소수 나누기
함수 분할(transvalue) {
var value = new Array('', '');
temp = tranvalue.split(".");
for (var i = 0; i < temp.length; i++) {
값[i] = 온도[i];
}
반환값;
}
90. 기본 JavaScript에서 일반적으로 사용되는 대규모 정규식 모음
다음과 같이 코드 코드를 복사합니다.
한자와 일치하는 정규식: [/u4e00-/u9fa5]
2바이트 문자(한자 포함) 일치: [^/x00-/xff]
빈 줄과 일치하는 정규식: /n[/s ]*/r
HTML 태그와 일치하는 정규 표현식: <(.*)>.*<//1>|<(.*) //>
선행 및 후행 공백과 일치하는 정규식: (^/s*)|(/s*$)
IP 주소와 일치하는 정규식: /(/d+)/.(/d+)/.(/d+)/.(/d+)/g
이메일 주소와 일치하는 정규 표현식: /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
URL과 일치하는 정규식: http://(/[/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?
SQL 문: ^(select|drop|delete|create|update|insert).*$
음수가 아닌 정수: ^/d+$
양의 정수: ^[0-9]*[1-9][0-9]*$
양수가 아닌 정수: ^((-/d+)|(0+))$
음의 정수: ^-[0-9]*[1-9][0-9]*$
정수: ^-?/d+$
음수가 아닌 부동 소수점 수: ^/d+(/./d+)?$
양의 부동 소수점 수: ^((0-9)+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9 ] */.[0-9]+)|([0-9]*[1-9][0-9]*))$
양수가 아닌 부동 소수점 수: ^((-/d+/./d+)?)|(0+(/.0+)?))$
영어 문자열: ^[A-Za-z]+$
영문 대문자 문자열: ^[AZ]+$
영문 소문자 문자열: ^[az]+$
영문 및 숫자열 : ^[A-Za-z0-9]+$
영숫자와 밑줄 문자열: ^/w+$
이메일 주소: ^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$
URL: ^[a-zA-Z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/s*)?$ 또는: ^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/': +!]*([^<>/"/"])*$
우편번호: ^[1-9]/d{5}$
전화번호: ^((/(/d{2,3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2, 3}-)?[1-9]/d{6,7}(/-/d{1,4})?$
휴대폰 번호: ^((/(/d{2,3}/))|(/d{3}/-))?13/d{9}$
2바이트 문자(한자 포함): ^/x00-/xff
선행 및 후행 공백 일치: (^/s*)|(/s*$)
HTML 태그 일치: <(.*)>.*<///1>|<(.*) //>
빈 줄 일치: /n[/s|
정보에서 네트워크 링크를 추출합니다: (h|H)(r|R)(e|E)(f|F) *= *('|")?(/w|//|//|/.)+ ('|"| *|>)?
메시지에서 이메일 주소를 추출합니다: /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
메시지에서 이미지 링크를 추출합니다: (s|S)(r|R)(c|C) *= *('|")?(/w|//|//|/.)+('|" | *|>)?
메시지에서 IP 주소를 추출합니다: (/d+)/.(/d+)/.(/d+)/.(/d+)
메시지에서 중국 휴대전화 번호를 추출하세요: (86)*0*13/d{9}
메시지에서 중국 유선 전화번호를 추출합니다: (/(/d{3,4}/)|/d{3,4}-|/s)?/d{8}
메시지에서 중국 전화번호(휴대폰 및 유선전화 포함)를 추출합니다. (/(/d{3,4}/)|/d{3,4}-|/s)?/d{7,14}
다음 정보에서 중국 우편번호를 추출하세요: [1-9]{1}(/d+){5}
정보에서 부동 소수점 숫자(예: 소수)를 추출합니다: (-?/d*)/.?/d+
메시지에서 임의의 숫자를 추출합니다: (-?/d*)(/./d+)?
IP: (/d+)/.(/d+)/.(/d+)/.(/d+)
전화 지역번호: ^0/d{2,3}$
텐센트 QQ 번호: ^[1-9]*[1-9][0-9]*$
계좌 번호(문자로 시작, 5~16바이트 허용, 영숫자 밑줄 허용): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
중국어, 영어, 숫자 및 밑줄: ^[/u4e00-/u9fa5_a-zA-Z0-9]+$
91. 네이티브 JavaScript는 양식 변경 이벤트의 크기 조정 작업을 구현합니다. (모든 브라우저와 호환 가능)
다음과 같이 코드 코드를 복사합니다.
(기능(){
var fn = 함수(){
var w = document.documentElement ? document.documentElement.clientWidth : document.body.clientWidth
, r = 1255
,b = Element.extend(document.body)
,클래스명 = b.클래스명;
if(w < r){
//폼의 너비가 1255보다 작을 때 해당 작업을 수행합니다.
}또 다른{
//폼의 너비가 1255보다 큰 경우 해당 작업을 수행합니다.
}
}
if(window.addEventListener){
window.addEventListener('resize', function(){ fn(); });
}else if(window.attachEvent){
window.attachEvent('onresize', function(){ fn(); });
}
fn();
})();
92. 원본 JavaScript는 일반 규칙을 사용하여 공간을 청소하고 왼쪽과 오른쪽을 나눕니다.
다음과 같이 코드 코드를 복사합니다.
함수 ltrim (s) {return s.replace (/^(/s *| *)/, "");
함수 rtrim (s) {return s.replace (/(/s *| *) $/, "");
함수 트림 (s) {return ltrim (rtrim (s));}
93. 기본 JavaScript는 변수가 무효인지 여부를 결정합니다
다음과 같이 코드 코드를 복사합니다.
/**
* 변수가 비어 있는지 확인하십시오
* undefined, null, ',' ', false, 0, [], {} all Return true, 그렇지 않으면 거짓을 반환합니다.
*/
비어있는 기능 (v) {
스위치 (typeof v) {
'정의되지 않은'사례 : Return True;
CASE 'string': if (trim (v) .length == 0) true;
사례 '부울': If (! v)는 True;
사례 '번호': (0 === v)가 true;
케이스 '객체':
if (null === v) true를 반환합니다.
if (undefined! == v.length && v.length == 0) true를 반환합니다.
for (var k in v) {return false;} return true;
부서지다;
}
거짓을 반환;
}
94. 기본 JavaScript는 Base64 디코딩을 구현합니다
다음과 같이 코드 코드를 복사합니다.
기능 Base64_Decode (데이터) {
var b64 = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789+/=";
var O1, O2, O3, H1, H2, H3, H4, 비트, i = 0, ac = 0, dec = "", tmp_arr = [];
if (! data) {return data}
데이터 += '';
하다 {
h1 = b64.indexof (data.charat (i ++));
h2 = b64.indexof (data.charat (i ++));
h3 = b64.indexof (data.charat (i ++));
h4 = b64.indexof (data.charat (i ++));
비트 = h1 << 12 |.
O1 = 비트 >> 16 & 0xff;
O2 = 비트 >> 8 & 0xff;
O3 = 비트 & 0xff;
if (h3 == 64) {
tmp_arr [ac ++] = string.fromcharcode (O1);
} else if (h4 == 64) {
tmp_arr [ac ++] = string.fromcharcode (O1, O2);
} 또 다른 {
tmp_arr [ac ++] = string.fromcharcode (O1, O2, O3);
}
} while (i <data.length);
dec = tmp_arr.join ( '');
DEC = UTF8_DECODE (DEC);
반환 12 월;
}
95. 기본 JavaScript는 UTF8 디코딩을 구현합니다
다음과 같이 코드 코드를 복사합니다.
함수 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);
나++;
} else if (c1> 191 && c1 <224) {
c2 = str_data.charcodeat (i + 1);
tmp_arr [ac ++] = string.fromcharcode (((C1 & 31) << 6) | (C2 & 63));
i += 2;
} 또 다른 {
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는 형태의 가시 범위의 너비와 높이를 얻습니다.
다음과 같이 코드 코드를 복사합니다.
함수 getViewSize () {
var de = document.documentElement;
var db = document.body;
var vieww = de.clientWidth == 0?
var viewh = de.clientHeight == 0?
반환 배열 (vieww, viewh);
}
97. 기본 JavaScript는 IE 버전 번호를 결정합니다 (간결하고 후진 호환 가능!)
다음과 같이 코드 코드를 복사합니다.
var _ie = (function () {
var v = 3, div = document.createElement ( 'div'), all = div.getElementsByTagName ( 'i');
하는 동안 (
div.innerhtml = '<!-[if ee' + (++ v) + ']> <i> </i> <! [endif]->',
모두 [0]
);
반환 v> 4? v : false;
} ());
98. 기본 JavaScript를 사용하여 브라우저 버전 번호를 가져옵니다
다음과 같이 코드 코드를 복사합니다.
함수 browserversion (types) {
var 기타 = 1;
for (i in type) {
var v = 유형 [i] : i;
if (userAgent.indexof (v)! = -1) {
var re = new regexp (v + '(///|//s| :) (//d//.] +)', 'ig');
var matches = re.exec (userAgent);
var ver = match! = null?
기타 = ver! == 0 && v! = 'Mozilla'?
} 또 다른 {
var ver = 0;
}
평가 ( '브라우저.' + i + '= ver');
}
브라우저. 상인 = 기타;
}
99. 기본 JavaScript 반 폭에서 전폭 기능
다음과 같이 코드 코드를 복사합니다.
기능 todbc (str) {
var result = '';
for (var i = 0; i <str.length; i ++) {
코드 = str.charcodeat (i);
if (code> = 33 && code <= 126) {
결과 + = string.fromcharcode (str.charcodeat (i) + 65248);
} else if (code == 32) {
결과 + = string.fromcharcode (str.charcodeat (i) + 12288-32);
}또 다른{
결과 += str.charat (i);
}
}
결과 반환;
}
100. 기본 JavaScript 전폭 내지 반 폭 함수
다음과 같이 코드 코드를 복사합니다.
함수 tocdb (str) {
var result = '';
for (var i = 0; i <str.length; i ++) {
코드 = str.charcodeat (i);
if (code> = 65281 && code <= 65374) {
결과 += string.fromcharcode (str.charcodeat (i) -65248);
} else if (code == 12288) {
결과 + = string.fromcharcode (str.charcodeat (i) -12288 + 32);
}또 다른{
결과 += str.charat (i);
}
}
결과 반환;
}