perl ã PHP 㧠Webã¢ããªã±ã¼ã·ã§ã³ãä½ãéãã¦ã¼ã¶ã¼ããã©ã¼ã ã«å
¥åããå¤ãåãåã£ã¦ãä½ããã®å¦çãè¡ãªããã¨ããã®ã¯åºæ¬ä¸ã®åºæ¬ã§ãã
ã¦ã¼ã¶ã¼ãå
¥åããå¤ããã§ãã¯ãã¦ããã¡ããæ³å®ãããã©ã¼ãããã§éããã¦ãããã©ãã確èªããæ³å®å¤ã®å¤ãªãã°ã¨ã©ã¼ãè¿ããã¨ããã®ãåºæ¬ä¸ã®åºæ¬ã§ããã
ã¨ããããã§ããããªãã©ã¼ã ããã®ã¦ã¼ã¶ã¼å
¥åã®å¤ã®ã¨ã©ã¼ãã§ãã¯ã«ãã使ããããªæ£è¦è¡¨ç¾ãã¾ã¨ãã¦ã¿ã¾ããã
以ä¸ãperl ã®æ¹ã¯ã$FORM{'data'}ãã¨ããå¤æ°ã®ä¸ã«ã PHP ã®æ¹ã¯ã$_REQUEST['data']ãã¨ããå¤æ°ã®ä¸ã«ãã¦ã¼ã¶ã¼å
¥åã®å¤ãå
¥ã£ã¦ããã¨ãã¾ãã
åè§æ°åã®ã¿ãåãä»ããå ´å
ãã©ã¼ã ã«å
¥åãããå¤ã®ä¸ã«ããåè§æ°å以å¤ãå«ã¾ãã¦ããå ´åãã«ã¨ã©ã¼ãè¿ãã«ã¯ã以ä¸ã®ããã«ãã¾ãã
#-- perl ã®å ´å
if($FORM{'data'} =~ /\D/){
print qq|Error: åè§æ°åã§å
¥åãã¦ä¸ãã\n|;
}
#-- PHP ã®å ´å
if(preg_match("/\D/",$_REQUEST['data'])){
print ("Error: åè§æ°åã§å
¥åãã¦ä¸ãã\n");
}
ãã ããä¸è¨ã®å ´åã¯ãã©ã¼ã å
¥åã空ã®å ´åã¯ãã§ãã¯ãéã£ã¦ãã¾ãã¾ãã®ã§ãå¥éãã§ãã¯ãå¿
è¦ã§ãã
ãªã®ã§ä»¥ä¸ã®ããã«ãã1æ¡ä»¥ä¸ã®åè§æ°åã®ã¿åãä»ããããããªãã§ãã¯æ¹æ³ã®æ¹ãè¯ããã¨æãã¾ãã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^\d+$/){
print qq|Error: åè§æ°åã§å
¥åãã¦ä¸ãã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^\d+$/",$_REQUEST['data'])){
print ("Error: åè§æ°åã§å
¥åãã¦ä¸ãã\n");
}
ã5æ¡ã®æ°åã®ã¿åãä»ãããã¨ããå ´åã¯ã以ä¸ã®ããã«ãã¾ãã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^\d{5}$/){
print qq|Error: 5æ¡ã®åè§æ°åãå
¥åãã¦ä¸ãã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^\d{5}$/",$_REQUEST['data'])){
print ("Error: 5æ¡ã®åè§æ°åãå
¥åãã¦ä¸ãã\n");
}
æ¡æ°ãå¤ããããã°ãã\d{5}ãã®é¨åãã\d{10}ãã¨ãã\d{6}ãã¨ãã«ããã°OKã
ã5æ¡ã´ã£ããã§ã¯ãªãã5æ¡ä»¥å
(1ï½5æ¡)ã®åè§æ°åã®ã¿åãä»ãããã¨ããå ´åã¯ã以ä¸ã®ããã«ãã¾ãã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^\d{1,5}$/){
print qq|Error: 1ï½5æ¡ã®åè§æ°åãå
¥åãã¦ä¸ããã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^\d{1,5}$/",$_REQUEST['data'])){
print ("Error: 1ï½5æ¡ã®åè§æ°åãå
¥åãã¦ä¸ããã\n");
}
1ï½5æ¡ã§ã¯ãªãã2ï½4æ¡ã«ããããã°ã\d{1,5}ãã®é¨åãã\d{2,4}ãã«ããã°è¯ãã§ããã0ï½10æ¡ã«ããããã°ã\d{0,10}ãã«ããã°OKã
åè§æ°åã¨åè§ãããã.ãã®ã¿åãä»ããå ´å
è¦ããã«ãæ°åã ããå
¥åãã¦æ¬²ããããã©ãå°æ°ãOKã«ãããã®ã§ãå°æ°ç¹ã.ãã許å¯ããããã¨ããå ´åã§ããã
åè§æ°åã¨åè§ããã以å¤ãå«ã¾ãã¦ããå ´åã«ã¨ã©ã¼ãè¿ãã«ã¯ã以ä¸ã®ããã«ãã¾ãã
#-- perl ã®å ´å
if($FORM{'data'} =~ /[^\d\.]/){
print qq|Error: åè§æ°åã¨åè§ãããã.ãã§å
¥åãã¦ä¸ããã\n|;
}
#-- PHP ã®å ´å
if(preg_match("/[^\d\.]/",$_REQUEST['data'])){
print ("Error: åè§æ°åã¨åè§ãããã.ãã§å
¥åãã¦ä¸ããã\n");
}
ãããããããå
¥åã空ã ã¨éã£ã¦ãã¾ãã¾ãããåè§ããããäºã¤ä»¥ä¸ãã£ã¦ãéã£ã¦ãã¾ãã¾ãã®ã§ãå°æ°ã¯è¨±å¯ããããã¨ãããã¼ãºãè¶
ãã¦ãã¾ã£ã¦ãã¾ãã
ãªã®ã§ãä¸æ¡ä»¥ä¸ã®æ°å¤ããã¯ãã¾ã£ã¦ãã¦ã0ï½1åã®åè§ãããã¨åè§æ°åã ããå«ã¾ããæå¾ã¯åè§æ°åã§çµãããã®ã®ã¿åãä»ãããã¨ããèãæ¹ã§æ£è¦è¡¨ç¾ãæ¸ãã®ãè¯ããã¨æãã¾ãã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^\d$|^\d+\.?\d+$/){
print qq|Error: åè§æ°åã¨åè§ãããã.ãã§å
¥åãã¦ä¸ããã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^\d$|^\d+\.?\d+$/",$_REQUEST['data'])){
print ("Error: åè§æ°åã¨åè§ãããã.ãã§å
¥åãã¦ä¸ããã\n");
}
ä¸è¨ã¯ããä¸æ¡ã®æ°åããä¸æ¡ä»¥ä¸ã®æ°åããå§ã¾ã£ã¦0ï½1åã®ããããå«ã¿ä¸æ¡ä»¥ä¸ã®æ°åã§çµããããã®ã®ã¿ããããã¾ãã
åè§è±æ°åã®ã¿åãä»ããå ´å
æ£è¦è¡¨ç¾ã§ãåè§è±æ°åãã¯ã\wãã§è¡¨ããã¨ãã§ãã¾ãã
ã¾ãããåè§è±æ°å以å¤ãã¯ã\Wãã§è¡¨ããã¨ãã§ãã¾ãã
2010/07/16追è¨
flagged utf8 ã§ã¯ãã\wãã«æ¥æ¬èªãå«ã¾ããã¨ããææãé ãã¾ããã
â»åèãªã³ã¯1
åèãªã³ã¯2
ãªã®ã§ãåè¿°ã®ãåè§æ°åã®ã¿ãåãä»ããå ´åãã®ã\dãã\Dããã\wãã\Wãã«ç½®ãæããã ãã§åºæ¬çã«ã¯åé¡ãªããã¨æãã¾ãã
ãã ãã\wãã«ã¯åè§ã¢ã³ãã¼ãã¼ã_ããå«ã¾ãã¾ã(éã«ã\Wãã¯æ£ç¢ºã«ã¯ãåè§è±æ°åã¨ã¢ã³ãã¼ãã¼ä»¥å¤ãã§ãã)ã
ãªã®ã§ãåè§ã¢ã³ãã¼ãã¼ã_ããé¤å¤ãããå ´åã¯ã\wãã®ä»£ããã«ã[A-Za-z0-9]ãã使ãã®ãè¯ããã¨ã
ã¾ããã\Wãã®ä»£ããã¯ã[^A-Za-z0-9]ãã«ãªãã¾ãã
ãã¾ã«ããã±ã¼ã¹ã§ãã¦ã¼ã¶ã¼IDããæ°æ¡ã®è±å+æ°æ¡ã®æ°åã(ABC0123ã¿ãããª)ã§åºå®ããã¦ããã±ã¼ã¹ã§ã¯ãããã«å¿ããæ£è¦è¡¨ç¾ãæ¸ãã®ãè¯ãã§ãããã
ä¾ãã°ã3æ¡ã®è±å+4æ¡ã®æ°åãã®å ´åã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^[A-Za-z]{3}\d{4}$/){
print qq|Error: 3æ¡ã®è±å+4æ¡ã®æ°åãå
¥åãã¦ä¸ããã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^[A-Za-z]{3}\d{4}$/",$_REQUEST['data'])){
print ("Error: 3æ¡ã®è±å+4æ¡ã®æ°åãå
¥åãã¦ä¸ããã\n");
}
è±åã大æåã®ã¿ã§çµ±ä¸ããã¦ããå ´åã¯ã[A-Za-z]ãã®é¨åãã[A-Z]ãã«ãå°æåã§çµ±ä¸ãªãã[a-z]ãã«ãã¦ãè¯ãã§ããã大æåã¨å°æåã§IDã«å·®ç°ããªãã®ãªããã©ã¡ãã§ãåãä»ããããæ¹ãã¦ã¼ã¶ããªãã£ãè¯ãã§ãããã
éµä¾¿çªå·å
¥åæ¬ã®ã¨ã©ã¼ãã§ãã¯
éµä¾¿çªå·ã¯ãã¦ã¼ã¶ã¼ã«å
¥åã®éã«ãã¤ãã³ãçåãã¦ããã£ã¦ãæ°å7æ¡ã®ã¿åãä»ããããã«ããã®ãæã£åãæ©ãã¦æ¥½ã§ããã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^\d{7}$/){
print qq|Error: éµä¾¿çªå·ãåè§æ°å(ãã¤ãã³ãªã)ã§å
¥åãã¦ä¸ãã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^\d{7}$/",$_REQUEST['data'])){
print ("Error: éµä¾¿çªå·ãåè§æ°å(ãã¤ãã³ãªã)ã§å
¥åãã¦ä¸ãã\n");
}
ãã¤ãã³ãããããªãã¨å°ããã¨ããå ´åã¯ä»¥ä¸ã®ãããªæãã«ãªãã¾ãã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^\d{3}-\d{4}$/){
print qq|Error: éµä¾¿çªå·ãåè§æ°å(ãã¤ãã³ã¤ã)ã§å
¥åãã¦ä¸ãã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^\d{3}-\d{4}$/",$_REQUEST['data'])){
print ("Error: éµä¾¿çªå·ãåè§æ°å(ãã¤ãã³ã¤ã)ã§å
¥åãã¦ä¸ãã\n");
}
ãã¤ãã³ããã£ã¦ããªãã¦ãåãä»ããããã«ããããã¨ããå ´åã¯ä»¥ä¸ã®ãããªæãã«ã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^\d{3}-?\d{4}$/){
print qq|Error: éµä¾¿çªå·ãåè§æ°åã§å
¥åãã¦ä¸ãã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^\d{3}-?\d{4}$/",$_REQUEST['data'])){
print ("Error: éµä¾¿çªå·ãåè§æ°åã§å
¥åãã¦ä¸ãã\n");
}
ãã¤ãã³ããã£ã¦ããªãã¦ãåãä»ããããã«ãã¦ããã¦ãå¾ã§ã¹ã¯ãªããå
ã§ãã¤ãã³ãåãé¤ãã¦çµ±ä¸ããã¦ããã®ãä¸çªè¯ãããã§ããã
é»è©±çªå·å
¥åæ¬ã®ã¨ã©ã¼ãã§ãã¯
é»è©±çªå·ããéµä¾¿çªå·ã¨åãããã¦ã¼ã¶ã¼ã«å
¥åã®éã«ãã¤ãã³ãçç¥ãã¦ãããã®ã楽ã§ãããã
å½å
ã®é»è©±çªå·ã¯ãå¤åã0ããå§ã¾ã10ï½11æ¡ã®æ°åãã§å¤§ä¸å¤«ã ã¨æãã®ã§ã以ä¸ã®ãããªæãã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^0\d{9,10}$/){
print qq|Error: é»è©±çªå·ãåè§æ°å(ãã¤ãã³ãªã)ã§å
¥åãã¦ä¸ãã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^0\d{9,10}$/",$_REQUEST['data'])){
print ("Error: é»è©±çªå·ãåè§æ°å(ãã¤ãã³ãªã)ã§å
¥åãã¦ä¸ãã\n");
}
æºå¸¯é»è©±ã«éå®ãããªãã1æåç®ã¨3æåç®ã0ã§ãå
¨é¨ã§11æ¡ã®æ°åãã§è¯ãã¨æãã®ã§ã以ä¸ã®ãããªæãã§ããããã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^0\d0\d{8}$/){
print qq|Error: é»è©±çªå·ãåè§æ°å(ãã¤ãã³ãªã)ã§å
¥åãã¦ä¸ãã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^0\d0\d{8}$/",$_REQUEST['data'])){
print ("Error: é»è©±çªå·ãåè§æ°å(ãã¤ãã³ãªã)ã§å
¥åãã¦ä¸ãã\n");
}
ãã¤ãã³ããã®å ´åã¯ãå¸å¤å±çª2ï½6æ¡-å¸å
å±çª0ï½4æ¡-4æ¡ã®æ°åã(ããã§åã£ã¦ããã©ããæ£ç´èªä¿¡ãªãã§ã)ã«ããããã¦ãããã©ãããã§ãã¯ããã°è¯ãã¨æãã®ã§ã以ä¸ã®ãããªæãã
#-- perl ã®å ´å
if($FORM{'data'} !~ /^0\d{1,5}-\d{0,4}-?\d{4}$/
|| $FORM{'data'} !~ /^.{11,13}$/){
print qq|Error: é»è©±çªå·ãåè§æ°åã§å
¥åãã¦ä¸ãã\n|;
}
#-- PHP ã®å ´å
if(!preg_match("/^0\d{1,5}-\d{0,4}-?\d{4}$/",$_REQUEST['data'])
|| !preg_match("/^.{11,13}$/",$_REQUEST['data'])){
print ("Error: é»è©±çªå·ãåè§æ°åã§å
¥åãã¦ä¸ãã\n");
}
ãå¸å¤å±çª2ï½6æ¡-å¸å
å±çª0ï½4æ¡-4æ¡ã®æ°åãã®ãã§ãã¯ã ãã§ãªããç·æåæ°ã11ï½13æåã§ãããã©ããããã§ãã¯ãã¦ãã¾ãã
â»åç´ãªæåæ°ãã§ãã¯ã¯ lengthé¢æ°ã¨ã strlené¢æ°ã¨ã使ã£ãæ¹ãè¯ãã¨æãã¾ãããä»åã¯æ£è¦è¡¨ç¾ã®è¨äºãªã®ã§ãç¡çç¢çæ£è¦è¡¨ç¾ã§ãã£ã¦ã¿ã¾ããï¼ï¼¾ï¼¾ï¼
ä»ã«ãã¾ã è²ã
ããã¾ããããã®è¨äºæ¸ãã®ã«æå¤ã¨æéãããã£ãã®ã§ãç¶ãã¯ã¾ã次ã®æ©ä¼ã«ã
- é¢é£ããããã°è¨äº
-
- ã«ãã´ãªã¼
-
PHP
|
perl/CGI
- ã¿ã°
-
CGI
|
perl
|
PHP
|
preg_match
|
æ£è¦è¡¨ç¾
ã³ã¡ã³ã(327)