찾다
웹 프론트엔드JS 튜토리얼JS 양식 유효성 검사 encyclopedia_form 효과

1. 숫자, 영문만 입력 가능합니다:

2. 숫자만 입력할 수 있습니다:
< ;input onkeyup="value=value.replace(/[^/d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/ d]/g,''))" ID="Text2" NAME="Text2">
3. 전체 너비 입력만 가능합니다:

4. 한자만 입력 가능합니다:

------------------------- --------- --------------
잘못된 문자 확인, sql
function vdf()
{
var i,j,name,value,message,length,type,a=vdf.arguments,cb_name>for (i; =0; i{
if (a[i].indexOf('#')!=-1)
{
이름 =fob(a[i].substr(0,a[i].indexOf('#')));
cb_name=fob(a[i].substr((a[i].indexOf('# ') 1),a[i ].length));
}
else
{
name=fob(a[i]); // 컨트롤 이름
}
message=a[i 1]; // 프롬프트 메시지
type=a[i 2]; // 유형
if (type!="r_time")
{
value=name.value .replace(/ /g, " "); // 제어값
}
else
{
value=name.value; ------- ----------------- ------- -----
// ================ 체크박스 선택 여부 결정 선택됨====== =========== //
if (type=="r_cb")
{
e=document.forms(0).elements ;
var 플래그=false
for (i=0;i{
if (e[i]!=cb_name)
{
if (e[i].checked ==true)
{
flag=true;
break
}
}
if (i==e.length-1)
{
break ;
}
}
if (flag==false)
{
alert(message "!/n"); 비어 있는 경우
return false
}
}
// =============== 드롭다운 상자가 선택되었는지 확인 === ============= / /
if (type=="r_sl")
{
if (name.selected==false)
{
Alert(message "!/n"); //비어 있음
return false
}
}
// ============ == 비워둘 수 없다는 판단 ======= ========= //
if (type=="r")
{
if (value== "") // 비어 있는지 확인
{
alert(message "!/n") // 비어 있을 때 나타나는 프롬프트
name.focus(); .select();
return false;
}
}
// ============== 비워둘 수는 없지만 포커스를 얻지 못함 == ============== //
if (type=="o_r")
{
if (value=="") // 비어 있는지 확인
{
alert(message "!/n"); / / 비어 있을 때 나타나는 프롬프트
return false
}
// ===== ========== 중국어만 입력 가능 ===== =========== //
if (type=="r_china")
{
if (value.search(/^[/u4e00-/u9fa5] $/) ==-1)
{
alert(message "!/n") // 판단은 비워둘 수 없습니다
name.focus();
name.select();
return false
}
}
// ============ = 비워둘 수 없으며 숫자 또는 문자여야 합니다. ========== ====== //
if (type=="r_num_char")
{
if (value=="")
{
alert(message "!/n" ); //비었을 때 나타나는 프롬프트
name.focus()
name.select( );
false 반환
}
if (value.search(/^[ 0-9a-zA-Z] $/)==-1)
{
alert(message "!/n"); //비었을 때 나타나는 프롬프트
name.select()
return false; 🎜>// =============== 비워둘 수 있지만 비워둘 수는 없습니다. 때, 숫자를 입력하세요 ================ //
if (type=="num")
{
if (value.search(/^[ 0-9] $/)==-1 && value!="")
{
alert(message "!/n"); // 판단은 비어 있을 수 없습니다.
name.select()
return false; }
// =============== 비워둘 수 없으며 숫자여야 합니다. 판단 ================ //
if (type=="r_num")
{
if (value=="")
{
alert(message "!/n")
name.focus() ;
name.select();
return false
}
if (value.search( /^[0-9] $/)==-1)
{
alert(message "!/n"); // 판단은 비어 있을 수 없습니다.
name.select()
return false;
// ===============n보다 작은 숫자를 입력해야 합니다==== ============= //
if ( type.indexOf("r_num{
length=type.substring((type.indexOf ('if (value=="") // 비어 있음
{
alert(message "!/n")
name.focus(); select();
return false;
}
if (value.search(/^[0-9 ] $/)==-1) // 숫자로 구성되지 않음
{
alert(message "!/n");
name.select()
return false
}
(value.length>length) // 숫자 길이 제한
{
alert(message "!/n")
name.focus()
name.select()
return false; 🎜>}
}
// ===============n보다 큰 숫자를 입력해야 합니다================= //
if ( type .indexOf("r_num>")!=-1)
{
length=type.substring((type.indexOf('>') 1),type.length); // 뒷면 가져오기 of rnif (value=="") // 비어 있음
{
alert(message "!/n")
name.focus(); .select();
return false;
}
if (value.search(/^[0-9] $/)==-1) // 숫자로 구성되지 않음
{
alert(message "!/n");
name.select()
return false
}
if (value.length{
alert(message "!/n")
name.focus()
name.select(); 🎜>}
}
// ================a-b 사이의 숫자를 입력해야 합니다 ============= === / /
if (type.indexOf("r_num#")!=-1)
{
length=type.substr((type.indexOf('>' ) 1), type.length);
length=length.substr(0,length.lastIndexOf("-"))
length1=type.substring((type.indexOf('-') 1) ,type.length ) // rn 뒤의 숫자 가져오기if (value=="") // 비어 있는지 확인
{
alert(message "!/n")
name.focus() ;
name.select();
return false;
}
if (value.search(/^[0-9] $/)==-1) // 알림이 생성되지 않음 숫자
{
alert(message "!/n");
name.focus()
name.select()
return false; if (value.lengthlength1) // 숫자의 길이를 제한합니다
{
alert(message "!/n")
focus(); 🎜>name.select();
return false;
}
}
// ============= 비워둘 수 없으며 부동 소수점이어야 합니다. 유형================ //
if (type=="r_float")
{
if (value=="")
{
alert(메시지 "!/n");
name.select()
return false; /^[0-9] $/)!=-1 || value.search(/^([0-9] )|([0-9] /.[0-9]*)| ([0- 9]*/.[0-9] )$/)!=-1)
{
true를 반환
}
else
{
alert( 메시지 "!/ n"); // 판단은 비워둘 수 없습니다
name.focus();
name.select();
return false;
}
}
/ / == ============= 이메일을 확인하기 위해 입력할 필요는 없습니다. ================ //
if (type.indexOf (" 이메일")!=-1)
{
if (name.value!="")
{
if (value.search(/^[_/.a-z0- 9] @[a-z0-9] [/.][a-z0-9]{2,}$/i)==-1)
{
alert(메시지 "!/n") ;
name.focus();
return false
}
}
// ======== == =====이메일을 확인하려면 다음을 입력하세요.================ //
if (type.indexOf("r_email")!=-1 )
{
if (name.value=="")
{
alert(message "!/n")
name.focus()
name.select ();
return false;
}
if (value.search(/^[_/.a-z0-9] @[a-z0-9] [/.][a-z0 -9]{2 ,}$/i)==-1)
{
alert(message "!/n")
name.focus()
name.select() ;
false 반환
}
}
// ============= 날짜를 결정합니다(예: 2000-12-20====) ======== ===== //
if (type=="r_date")
{
flag=true;
getdate=value
if ( getdate.search(/^[0 -9]{4}-(0[1-9]|[1-9]|1[0-2])-((0[1-9]|[1-9 ])|1[0-9 ]|2[0-9]|3[0-1])$/)==-1) // 입력 형식을 판단할 때 정확함
{
flag=false ;
}
else
{
var year=getdate.substr(0,getdate.indexOf('-')) // 연도를 가져옵니다
// 다음 작업은 월
var transit_month=getdate.substr(0, getdate.lastIndexOf('-'))
var Month=transition_month.substr(transition_month.lastIndexOf('-') 1,transition_month.length); 🎜>if (month.indexOf('0')== 0)
{
month=month.substr(1,month.length);
}
// 다음 작업은 날짜 얻기
var day=getdate.substr(getdate.lastIndexOf(' -') 1,getdate.length)
if (day.indexOf('0')==0)
{
day=day.substr(1,day.length);
}
//alert(day)
//return false
((월==4 || 월==6 || 월==9 || 월==11) && (일>30)) // 4, 6, 9, 11개월의 날짜는 30을 초과할 수 없습니다
{
flag=false;
}
if (month= =2) // 2월 결정
{
if (LeapYear(연도))
{
if ( day>29 || day}
else
{
if (day>28 || day }
}
else
{
flag=true ;
}
}
if (flag==false)
{
alert(message "! /n"); //비었을 때 나타나는 프롬프트
name.focus ();
name.select();
return false;
}
}
1. 길이 제한
<script> <BR>function test() <BR> { <BR>if(document.a.b.value.length>50) <BR>{ <BR>alert("50자를 초과할 수 없습니다. !"); <BR>document.a.b.focus(); <BR>return false; <BR>} <BR>} <BR></script>





2. 한자만 가능합니다

3." 영어로만 가능합니다
<script> <BR>function onlyEng() <BR>{ <BR>if( !(event.keyCode>=65&&event.keyCode<=90)) <BR>event.returnvalue=false; <BR>} <BR></script>

4. 숫자만 가능합니다
<script> <BR>function onlyNum() <BR>{ <BR>if(!((event.keyCode>=48&&event. keyCode<= 57)||(event.keyCode>=96&&event.keyCode<=105))) <BR>//작은 키보드의 숫자 키를 고려하세요<BR>event.returnvalue=false; ></ script> <BR><input onkeydown="onlyNum();"> <BR>5. 영문, 숫자만 가능합니다<BR><input onkeyup="value="/oblog/value .replace(/ [/W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,'') )"> <BR>6. 연료 탱크 형식 확인 <BR><SCRIPT LANGUAGE=javascript RUNAT=Server> <BR>function isEmail(strEmail) { <BR>if (strEmail.search(/^/w (( -/w )| (/./w ))*/@[A-Za-z0-9] ((/.|-)[A-Za-z0-9] )*/.[A-Za-z0 -9] $/ ) != -1) <BR>return true <BR>else <BR>alert("oh") <BR></script>

7. 키워드 차단(*** 및 ****는 여기서 차단됨)
<script> function test() { <BR>if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){ <BR> Alert(":) "); <BR>a.b.focus(); <BR>return false;} <BR>} <BR></script>




8. 입력된 비밀번호가 동일합니까?

🎜>

<script> 기능 확인() <BR>{ <BR>with(document.all){ <BR>if(input1.value!=input2.value) <BR>{ <BR>alert("false") <BR>input1.value = "" <BR> input2.value = ""; <BR>} <BR>else document.forms[0].submit() <BR>} <BR>} <BR></script> 충분합니다 :)
마우스 오른쪽 클릭을 차단하는 것이 좋습니다
oncontextmenu="return false" ondragstart="return false" onselectstart="return false"
본문에 추가
두 개
2.1 테이블 단일 항목은 비워둘 수 없습니다.
<script> <BR><!-- <BR>함수 CheckForm() <BR>{ <BR>if (document.form.name.value.length == 0) { <BR>alert("이름을 입력하세요!"); <BR>document.form.name.focus() <BR>return false; <BR>} <BR>return true; >--> <BR></script>
2.2 두 양식 항목의 값이 동일한지 비교
<script> - <BR>function CheckForm() <BR>if (document.form.PWD.value != document.form.PWD_Again.value) { <BR>alert("두 번 입력한 비밀번호가 다릅니다! 다시 입력하세요."); <BR>document.ADDUser.PWD.focus(); <BR>return false; <BR>} <BR>return true; <BR>} <BR>--> <BR> </script>
2.3 양식 항목은 숫자와 "_"만 가능하며 전화/은행 계좌 확인에 사용되며 도메인 이름 등록 등으로 확장될 수 있습니다.
> ;
2.4 양식 항목 입력 값/길이 제한
<script> <BR><!-- <BR>function CheckForm() <BR>{ <BR>if (문서 .form.count.value > 100 || document.form.count.value < 1) <BR>{ <BR>alert("입력값은 0보다 작거나 100보다 클 수 없습니다!"); >document.form.count.focus(); <BR>return false; <BR>} <BR>if (document.form.MESSAGE.value.length<10) <BR>{ <BR>alert("입력 텍스트가 10보다 작습니다!") ; <BR>document.form.MESSAGE.focus(); <BR>false를 반환; <BR>} <BR>true를 반환; <BR>} <BR>//--&gt ; <BR></script>> ;
2.5 중국어/영어/숫자/이메일 주소 유효성 판단
> ;
2.6 양식 항목에 입력할 수 없는 문자 제한
<script> <BR><!-- <BR>function contain(str,charset)// String contain 테스트 함수 <BR>{ <BR>var i; <BR>for(i=0;i<charset.length;i ) <BR>if(str.indexOf(charset.charAt(i))>=0) <BR>return true; <BR>return false; <BR>} <BR>function CheckForm() <BR>{ <BR>if ((contain(document.form.NAME.value, "%/(/)&gt ;&lt ;")) || (contain(document.form.MESSAGE.value, "%/(/)><"))) <BR>{ <BR>alert("잘못된 문자가 입력되었습니다."); <BR>document.form.NAME.focus(); <BR>return false <BR>} <BR>//--> 🎜 >1. 문자열이 모두 숫자로 구성되어 있는지 확인<BR>---------- --- <BR><script 언어="Javascript"><!-- <BR>function checkNum(str){return str.match(//D/)==null} <BR>alert( checkNum ("1232142141")) <BR>alert(checkNum("123214214a1")) <BR>// --></script>
2. 문자인지 확인하는 방법
-- -- ----------------------------------
if (/[^/x00-/xff] / g.test(s)) Alert("한자 포함");
else Alert("모든 문자")
3. 한자가 포함되어 있는지 판단하는 방법
---- ---- ------------------
if (escape(str).indexOf("%u ")!=- 1) Alert("한자 포함");
else Alert("모든 문자");
4. 이메일 형식 확인
------------ ----- ----------
//기능명 : chkemail
//기능 소개 : chkemail인지 확인 이메일 주소
// 매개변수 설명: 확인할 문자열
//반환값: 0: 아님 1: 예
function chkemail(a)
{ var i=a.length
var temp = a.indexOf ('@');
var tempd = a.indexOf('.')
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)>0){
return 1;
}
}
}
return 0; . 숫자 형식 확인
-----------------------------------------
/ /함수명: fucCheckNUM
//함수 소개: 숫자인지 확인
//매개변수 설명: 확인할 숫자
//반환값: 1은 숫자, 0은 숫자임을 의미 숫자가 아닙니다
function fucCheckNUM(NUM)
{
var i,j,strTemp
strTemp="0123456789"
if ( NUM.length== 0)
0
for (i=0;i{
j=strTemp.indexOf(NUM.charAt(i))
if (j==-1) )
{
//숫자가 아닌 문자가 있음을 나타냅니다
return 0
}
}
//설명은 숫자입니다
return 1; >}
6. 전화번호 형식 확인
------ ------------------------------- ---
//기능명 : fucCheckTEL
//기능소개 : 전화번호인지 확인
//매개변수 설명 : 확인할 문자열
//반환값 : 1은 합법, 0은 불법입니다
function fucCheckTEL(TEL)
{
var i,j,strTemp
strTemp="0123456789-()# "
for (i=0;i{
j=strTemp.indexOf (TEL.charAt(i))
if (j==-1)
{
//다음을 나타냅니다. 일부 문자는 유효하지 않습니다
return 0;
}
}
//설명이 올바릅니다
return 1;
}
7. 🎜>--------------- ------------------
기능 ischinese(s){
var ret=true;
for(var i=0;iret=ret && (s.charCodeAt(i)>=10000) ;
return ret
}
8. 사용자 입력의 합법성을 판단하는 종합 기능
---------------------- -----------------
<script> <BR>//입력 문자 수를 제한하여 시작<BR>//m은 사용자 입력, n은 제한할 자릿수<BR>function issmall(m,n) <BR>{ <BR> if ((m<n) && (m>0)) <BR>{ <BR> return(false); <BR>} <BR>else <BR>{return(true);} <BR>} <BR>9. 입력한 비밀번호가 일치하는지 확인<BR>------- ---------------------------------- <BR>함수 issame(str1,str2) <BR>{ <BR>if (str1==str2) <BR>{return(true);} <BR>else <BR>{return(false);} <BR>} <BR>10. 사용자 이름이 숫자 밑줄인지 확인합니다. <BR>---------------------- -------- <BR>기능 notchinese (str){ <BR>var reg=/[^A-Za-z0-9_]/g <BR>if (reg.test(str)){ <BR>return (false); <BR>return(true); } <BR>} <BR>2.8.폼 텍스트 필드 일반 확인 기능<BR>--------- -------------- ------- <BR> 기능: 이름, 계좌번호, 이메일 주소 등 비어 있으면 안 되는 모든 입력 텍스트를 감지합니다. <BR>이 검사는 현재 텍스트 필드에만 적용됩니다. 양식의 다른 필드 개체를 대상으로 하려면 판단 조건을 변경할 수 있습니다. <BR>사용방법: 감지할 텍스트 필드에 제목 텍스트를 추가합니다. 텍스트는 사용자에게 필드의 중국어 이름을 묻는 프롬프트 정보입니다. 예를 들어 사용자 이름 <BR>html은 다음과 같습니다.<input name="txt_1" title="name"> 물론, Dreamweaver와 같은 시각적 도구를 사용하여 편집하는 것이 가장 좋습니다. 필드. <BR>숫자형 데이터를 탐지하려면 도메인 ID를 sz로 통일하세요. <BR>JavaScript에서는 날짜 유형을 판별하는 것이 번거로워서 전문가가 추가할 수 있는 프로그램이 없습니다. <BR>프로그램이 비교적 투박해서 아이디어만 제공합니다.벽돌을 던져서 좋은 소식을 받아보세요! :) <BR>아, 그런데 함수 호출 방법: < form onsubmit="return dovalidate()"> <BR><div class="codetitle"><span><a style="CURSOR: pointer" data="30685" class="copybut" id="copybut30685" onclick="doCopy('code30685')"><U>코드 복사 코드는 다음과 같습니다. <div class="codebody" id="code30685"> <BR>function dovalidate() <BR>{ <BR>fm=document.forms[0] //양식이 여러 개인 경우 하나의 양식만 감지합니다. 판정 조건을 변경할 수 있습니다<BR>for(i=0;i<fm.length;i ) <BR>{ <BR>//검출 및 판정 조건은 유형에 따라 변경 가능<BR>if( fm[i].tagName.toUpperCase()= ="INPUT" &&fm[i].type.toUpperCase()=="TEXT" && (fm[i].title!="")) <BR>if(fm [i].value="/blog/= "")// <BR>{ <BR>str_warn1=fm[i].title "비워둘 수 없습니다!"; <BR>alert(str_warn1); <BR>fm [i].focus(); <BR> return false; <BR>} <BR>if(fm[i].id.toUpperCase()=="SZ")//디지털 인증<BR>{ <BR> if(isNaN(fm[i].value )) <BR>{ str_warn2=fm[i].title "잘못된 형식" <BR>alert(str_warn2) <BR>fm[i].focus(); 🎜>false 반환 <BR>} <BR>} <BR>} <BR>true 반환 <BR>} <BR><BR></script>

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
如何使用Flask-WTF实现表单验证如何使用Flask-WTF实现表单验证Aug 03, 2023 pm 06:53 PM

如何使用Flask-WTF实现表单验证Flask-WTF是一个用于处理Web表单验证的Flask扩展,它提供了一种简洁、灵活的方式来验证用户提交的数据。本文将向您展示如何使用Flask-WTF扩展来实现表单验证。安装Flask-WTF要使用Flask-WTF,首先需要安装它。可以使用pip命令来安装:pipinstallFlask-WTF导入所需模块在F

php如何使用CodeIgniter4框架?php如何使用CodeIgniter4框架?May 31, 2023 pm 02:51 PM

PHP是一种非常流行的编程语言,而CodeIgniter4是一种常用的PHP框架。在开发Web应用程序时,使用框架是非常有帮助的,它可以加速开发过程、提高代码质量、降低维护成本。本文将介绍如何使用CodeIgniter4框架。安装CodeIgniter4框架CodeIgniter4框架可以从官方网站(https://codeigniter.com/)下载。下

Laravel开发:如何使用Laravel Validation验证表单请求?Laravel开发:如何使用Laravel Validation验证表单请求?Jun 13, 2023 pm 01:34 PM

Laravel是一个流行的PHPWeb开发框架,它提供了很多方便的功能来加快开发者的工作。其中,LaravelValidation是一种非常实用的功能,它可以帮助我们轻松地验证表单请求和用户输入的数据。本文就将介绍如何使用LaravelValidation验证表单请求。什么是LaravelValidationLaravelValidation是La

如何使用Golang实现Web应用程序的表单验证如何使用Golang实现Web应用程序的表单验证Jun 24, 2023 am 09:08 AM

表单验证是Web应用程序开发中非常重要的一个环节,它能够在提交表单数据之前对数据进行有效性检查,避免应用程序出现安全漏洞和数据错误。使用Golang可以轻松地实现Web应用程序的表单验证,本文将介绍如何使用Golang来实现Web应用程序的表单验证。一、表单验证的基本要素在介绍如何实现表单验证之前,我们需要知道表单验证的基本要素是什么。表单元素:表单元素是指

PHP中的表单验证和过滤方法?PHP中的表单验证和过滤方法?Jun 29, 2023 pm 10:04 PM

PHP作为一种广泛应用于Web开发的脚本语言,其表单验证和过滤是非常重要的一部分。在用户提交表单的过程中,需要对用户输入的数据进行验证和过滤,以确保数据的安全性和有效性。本文将介绍PHP中如何进行表单验证和过滤的方法和技巧。一、表单验证表单验证是指对用户输入的数据进行检查,以确保数据符合特定的规则和要求。常见的表单验证包括对必填项的验证、邮箱格式、手机号码格

PHP表单验证技巧:如何使用filter_input函数检验用户输入PHP表单验证技巧:如何使用filter_input函数检验用户输入Aug 01, 2023 am 08:51 AM

PHP表单验证技巧:如何使用filter_input函数检验用户输入引言:在开发Web应用程序时,表单是与用户进行交互的重要工具。而正确地验证用户输入,是保证数据的完整性和安全性的关键步骤之一。PHP提供了filter_input函数,可以方便地对用户输入进行验证和过滤。本文将介绍如何使用filter_input函数来检验用户输入,并提供相关的代码示例。一、

Golang学习之Web应用程序的表单验证实践Golang学习之Web应用程序的表单验证实践Jun 24, 2023 pm 03:07 PM

在Web开发中,表单验证是一个极其关键的部分。表单验证可以有效地保护数据的安全性,防止非法用户的攻击和恶意操作。在Golang中,表单验证技术也应用广泛,特别是在Web应用程序中。本文将介绍Golang中Web应用程序的表单验证实践。一、表单验证的基本原理在Web应用程序中,表单验证的基本原理是在Web页面提交数据之前进行数据的检查和验证。这些数据可能是用户

ThinkPHP6如何进行表单验证操作?ThinkPHP6如何进行表单验证操作?Jun 12, 2023 am 09:36 AM

ThinkPHP6是一款基于PHP的MVC框架,极大地简化了Web应用程序的开发。其中表单验证是一个非常基础和重要的功能。在这篇文章中,我们将介绍ThinkPHP6中如何进行表单验证操作。一、验证规则定义在ThinkPHP6中,验证规则都需要定义在控制器中,我们可以通过在控制器中定义一个$validate属性来实现规则的定义,如下所示:usethinkVa

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.