« »
2008-08-23PHP

9

php通用检测函数集

【变量定义规则】:’C_’=字符型,’I_’=整型,’N_’=数字型,’L_’=布尔型,’A_’=数组型

  1. <?php
  2. // ※CheckMoney($C_Money) 检查数据是否是
  3. 99999.99格式
  4. // ※CheckEmailAddr($C_mailaddr) 判断是否为有效邮件地
  5. // ※CheckWebAddr($C_weburl) 判断是否为有效网址
  6. // ※CheckEmpty($C_char) 判断字符串是否为空
  7. // ※CheckLengthBetween($C_char, $I_len1, $I_len2=100) 判断是否为指定长度内
  8. 字符串
  9. // ※CheckUser($C_user) 判断是否为合法用户名
  10. // ※CheckPassword($C_passwd) 判断是否为合法用户密
  11. // ※CheckTelephone($C_telephone) 判断是否为合法电话号
  12. // ※CheckValueBetween($N_var, $N_val1, $N_val2) 判断是否是某一范围内的
  13. 合法值
  14. // ※CheckPost($C_post) 判断是否为合法邮编(固
  15. 定长度)
  16. // ※CheckExtendName($C_filename,$A_extend) 判断上传文件的扩展名
  17. // ※CheckImageSize($ImageFileName,$LimitSize) 检验上传图片的大小
  18. // ※AlertExit($C_alert,$I_goback=0) 非法操作警告并退出
  19. // ※Alert($C_alert,$I_goback=0) 非法操作警告
  20. // ※ReplaceSpacialChar($C_char) 特殊字符替换函数
  21. // ※ExchangeMoney($N_money) 资金转换函数
  22. // ※WindowLocation($C_url,$C_get="",$C_getOther="" PHP中的window.location
  23. 函数
  24. //-----------------------------------------------------------------------------------
  25. -------
  26.  
  27.  
  28. //-----------------------------------------------------------------------------------
  29. -------
  30. // 函数名:CheckMoney($C_Money)
  31. // 作 用:检查数据是否是99999.99格式
  32. // 参 数:$C_Money(待检测的数字)
  33. // 返回值:布尔值
  34. // 备 注:无
  35. //-----------------------------------------------------------------------------------
  36. -------
  37. function CheckMoney($C_Money)
  38. {
  39. if (!ereg("^[0-9][\.][0-9]$", $C_Money)) return false;
  40. return true;
  41. }
  42. //-----------------------------------------------------------------------------------
  43. -------
  44.  
  45.  
  46. //-----------------------------------------------------------------------------------
  47. -------
  48. // 函数名:CheckEmailAddr($C_mailaddr)
  49. // 作 用:判断是否为有效邮件地址
  50. // 参 数:$C_mailaddr(待检测的邮件地址)
  51. // 返回值:布尔值
  52. // 备 注:无
  53. //-----------------------------------------------------------------------------------
  54. -------
  55. function CheckEmailAddr($C_mailaddr)
  56. {
  57. if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",
  58. $C_mailaddr))
  59. //(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*$",
  60. $c_mailaddr))
  61. {
  62. return false;
  63. }
  64. return true;
  65. }
  66. //-----------------------------------------------------------------------------------
  67. -------
  68.  
  69.  
  70. //-----------------------------------------------------------------------------------
  71. -------
  72. // 函数名:CheckWebAddr($C_weburl)
  73. // 作 用:判断是否为有效网址
  74. // 参 数:$C_weburl(待检测的网址)
  75. // 返回值:布尔值
  76. // 备 注:无
  77. //-----------------------------------------------------------------------------------
  78. -------
  79. function CheckWebAddr($C_weburl)
  80. {
  81. if (!ereg("^http:\/\/[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*$", $C_weburl))
  82. {
  83. return false;
  84. }
  85. return true;
  86. }
  87. //-----------------------------------------------------------------------------------
  88. -------
  89.  
  90.  
  91. //-----------------------------------------------------------------------------------
  92. -------
  93. // 函数名:CheckEmpty($C_char)
  94. // 作 用:判断字符串是否为空
  95. // 参 数:$C_char(待检测的字符串)
  96. // 返回值:布尔值
  97. // 备 注:无
  98. //-----------------------------------------------------------------------------------
  99. -------
  100. function CheckEmptyString($C_char)
  101. {
  102. if (!is_string($C_char)) return false; //是否是字符串类型
  103. if (empty($C_char)) return false; //是否已设定
  104. if ($C_char=='') return false; //是否为空
  105. return true;
  106. }
  107. //-----------------------------------------------------------------------------------
  108. -------
  109.  
  110. //-----------------------------------------------------------------------------------
  111. -------
  112. // 函数名:CheckLengthBetween($C_char, $I_len1, $I_len2=100)
  113. // 作 用:判断是否为指定长度内字符串
  114. // 参 数:$C_char(待检测的字符串)
  115. // $I_len1 (目标字符串长度的下限)
  116. // $I_len2 (目标字符串长度的上限)
  117. // 返回值:布尔值
  118. // 备 注:无
  119. //-----------------------------------------------------------------------------------
  120. -------
  121. function CheckLengthBetween($C_cahr, $I_len1, $I_len2=100)
  122. {
  123. $C_cahr = trim($C_cahr);
  124. if (strlen($C_cahr) < $I_len1) return false;
  125. if (strlen($C_cahr) >; $I_len2) return false;
  126. return true;
  127. }
  128. //-----------------------------------------------------------------------------------
  129. -------
  130.  
  131. //-----------------------------------------------------------------------------------
  132. -------
  133. // 函数名:CheckUser($C_user)
  134. // 作 用:判断是否为合法用户名
  135. // 参 数:$C_user(待检测的用户名)
  136. // 返回值:布尔值
  137. // 备 注:无
  138. //-----------------------------------------------------------------------------------
  139. -------
  140. function CheckUser($C_user)
  141. {
  142. if (!CheckLengthBetween($C_user, 4, 20)) return false; //宽度检验
  143. if (!ereg("^[_a-zA-Z0-9]*$", $C_user)) return false; //特殊字符检验
  144. return true;
  145. }
  146. //-----------------------------------------------------------------------------------
  147. -------
  148.  
  149. //-----------------------------------------------------------------------------------
  150. -------
  151. // 函数名:CheckPassword($C_passwd)
  152. // 作 用:判断是否为合法用户密码
  153. // 参 数:$C_passwd(待检测的密码)
  154. // 返回值:布尔值
  155. // 备 注:无
  156. //-----------------------------------------------------------------------------------
  157. -------
  158. function CheckPassword($C_passwd)
  159. {
  160. if (!CheckLengthBetween($C_passwd, 4, 20)) return false; //宽度检测
  161. if (!ereg("^[_a-zA-Z0-9]*$", $C_passwd)) return false; //特殊字符检测
  162. return true;
  163. }
  164. //-----------------------------------------------------------------------------------
  165. -------
  166.  
  167. //-----------------------------------------------------------------------------------
  168. -------
  169. // 函数名:CheckTelephone($C_telephone)
  170. // 作 用:判断是否为合法电话号码
  171. // 参 数:$C_telephone(待检测的电话号码)
  172. // 返回值:布尔值
  173. // 备 注:无
  174. //-----------------------------------------------------------------------------------
  175. -------
  176. function CheckTelephone($C_telephone)
  177. {
  178. if (!ereg("^[+]?[0-9]+([xX-][0-9]+)*$", $C_telephone)) return false;
  179. return true;
  180. }
  181. //-----------------------------------------------------------------------------------
  182. -------
  183.  
  184.  
  185. //-----------------------------------------------------------------------------------
  186. -------
  187. // 函数名:CheckValueBetween($N_var, $N_val1, $N_val2)
  188. // 作 用:判断是否是某一范围内的合法值
  189. // 参 数:$N_var 待检测的值
  190. // $N_var1 待检测值的上限
  191. // $N_var2 待检测值的下限
  192. // 返回值:布尔值
  193. // 备 注:无
  194. //-----------------------------------------------------------------------------------
  195. -------
  196. function CheckValueBetween($N_var, $N_val1, $N_val2)
  197. {
  198. if ($N_var < $N_var1 ││ $N_var >; $N_var2)
  199. {
  200. return false;
  201. }
  202. return true;
  203.  
  204. }
  205. //-----------------------------------------------------------------------------------
  206. -------
  207.  
  208.  
  209. //-----------------------------------------------------------------------------------
  210. -------
  211. // 函数名:CheckPost($C_post)
  212. // 作 用:判断是否为合法邮编(固定长度)
  213. // 参 数:$C_post(待check的邮政编码)
  214. // 返回值:布尔值
  215. // 备 注:无
  216. //-----------------------------------------------------------------------------------
  217. -------
  218. function CheckPost($C_post)
  219. {
  220. $C_post=trim($C_post);
  221. if (strlen($C_post) == 6)
  222. {
  223. if(!ereg("^[+]?[_0-9]*$",$C_post))
  224. {
  225. return true;;
  226. }else
  227. {
  228. return false;
  229. }
  230. }else
  231. {
  232. return false;;
  233. }
  234. }
  235. //-----------------------------------------------------------------------------------
  236. -------
  237.  
  238.  
  239. //-----------------------------------------------------------------------------------
  240. -------
  241. // 函数名:CheckExtendName($C_filename,$A_extend)
  242. // 作 用:上传文件的扩展名判断
  243. // 参 数:$C_filename 上传的文件名
  244. // $A_extend 要求的扩展名
  245. // 返回值:布尔值
  246. // 备 注:无
  247. //-----------------------------------------------------------------------------------
  248. -------
  249. function CheckExtendName($C_filename,$A_extend)
  250. {
  251. if(strlen(trim($C_filename)) < 5)
  252. {
  253. return 0; //返回0表示没上传图片
  254. }
  255. $lastdot = strrpos($C_filename, "."; //取出.最后出现的位置
  256. $extended = substr($C_filename, $lastdot+1); //取出扩展名
  257.  
  258. for($i=0;$i<count($A_extend);$i++) //进行检测
  259. {
  260. if (trim(strtolower($extended)) == trim(strtolower($A_extend[$i]))) //转换大
  261. 小写并检测
  262. {
  263. $flag=1; //加成功标志
  264. $i=count($A_extend); //检测到了便停止检测
  265. }
  266. }
  267.  
  268. if($flag<>;1)
  269. {
  270. for($j=0;$j<count($A_extend);$j++) //列出允许上传的扩展名种类
  271. {
  272. $alarm .= $A_extend[$j]." ";
  273. }
  274. AlertExit('只能上传'.$alarm.'文件!而你上传的是'.$extended.'类型的文件');
  275. return -1; //返回-1表示上传图片的类型不符
  276. }
  277.  
  278. return 1; //返回1表示图片的类型符合要求
  279. }
  280. //-----------------------------------------------------------------------------------
  281. -------
  282.  
  283.  
  284. //-----------------------------------------------------------------------------------
  285. -------
  286. // 函数名:CheckImageSize($ImageFileName,$LimitSize)
  287. // 作 用:检验上传图片的大小
  288. // 参 数:$ImageFileName 上传的图片名
  289. // $LimitSize 要求的尺寸
  290. // 返回值:布尔值
  291. // 备 注:无
  292. //-----------------------------------------------------------------------------------
  293. -------
  294. function CheckImageSize($ImageFileName,$LimitSize)
  295. {
  296. $size=GetImageSize($ImageFileName);
  297. if ($size[0]>;$LimitSize[0] ││ $size[1]>;$LimitSize[1])
  298. {
  299. AlertExit('图片尺寸过大');
  300. return false;
  301. }
  302. return true;
  303. }
  304. //-----------------------------------------------------------------------------------
  305. -------
  306.  
  307.  
  308. //-----------------------------------------------------------------------------------
  309. -------
  310. // 函数名:Alert($C_alert,$I_goback=0)
  311. // 作 用:非法操作警告
  312. // 参 数:$C_alert(提示的错误信息)
  313. // $I_goback(返回到那一页)
  314. // 返回值:字符串
  315. // 备 注:无
  316. //-----------------------------------------------------------------------------------
  317. -------
  318. function Alert($C_alert,$I_goback=0)
  319. {
  320. if($I_goback<>;0)
  321. {
  322. echo "<script>;alert('$C_alert');history.go($I_goback);</script>;";
  323. }
  324. else
  325. {
  326. echo "<script>;alert('$C_alert');</script>;";
  327. }
  328. }
  329. //-----------------------------------------------------------------------------------
  330. -------
  331.  
  332.  
  333. //-----------------------------------------------------------------------------------
  334. -------
  335. //-----------------------------------------------------------------------------------
  336. -------
  337. // 函数名:AlertExit($C_alert,$I_goback=0)
  338. // 作 用:非法操作警告
  339. // 参 数:$C_alert(提示的错误信息)
  340. // $I_goback(返回到那一页)
  341. // 返回值:字符串
  342. // 备 注:无
  343. //-----------------------------------------------------------------------------------
  344. -------
  345. function AlertExit($C_alert,$I_goback=0)
  346. {
  347. if($I_goback<>;0)
  348. {
  349. echo "<script>;alert('$C_alert');history.go($I_goback);</script>;";
  350. exit;
  351. }
  352. else
  353. {
  354. echo "<script>;alert('$C_alert');</script>;";
  355. exit;
  356. }
  357. }
  358. //-----------------------------------------------------------------------------------
  359. -------
  360.  
  361.  
  362. //-----------------------------------------------------------------------------------
  363. -------
  364. // 函数名:ReplaceSpacialChar($C_char)
  365. // 作 用:特殊字符替换函数
  366. // 参 数:$C_char(待替换的字符串)
  367. // 返回值:字符串
  368. // 备 注:无
  369. //-----------------------------------------------------------------------------------
  370. -------
  371. function ReplaceSpecialChar($C_char)
  372. {
  373. $C_char=HTMLSpecialChars($C_char); //将特殊字元转成 HTML 格式。
  374. $C_char=nl2br($C_char); //将回车替换为<br />;
  375. $C_char=str_replace(" "," ",$C_char); //替换空格替换为
  376. $C_char=str_replace("<? ","< ?",$C_char); //替换PHP标记
  377. return $C_char;
  378. }
  379. //-----------------------------------------------------------------------------------
  380. -------
  381.  
  382.  
  383. //-----------------------------------------------------------------------------------
  384. -------
  385. // 函数名:ExchangeMoney($N_money)
  386. // 作 用:资金转换函数
  387. // 参 数:$N_money(待转换的金额数字)
  388. // 返回值:字符串
  389. // 备 注:本函数示例:$char=ExchangeMoney(5645132.3155) ==>;
  390. $char='¥5,645,132.31'
  391. //-----------------------------------------------------------------------------------
  392. -------
  393. function ExchangeMoney($N_money)
  394. {
  395. $A_tmp=explode(".",$N_money ); //将数字按小数点分成两部分,并存入数组$A_tmp
  396. $I_len=strlen($A_tmp[0]); //测出小数点前面位数的宽度
  397.  
  398. if($I_len%3==0)
  399. {
  400. $I_step=$I_len/3; //如前面位数的宽度mod 3 = 0 ,可按,分成$I_step
  401. 部分
  402. }else
  403. {
  404. $step=($len-$len%3)/3+1; //如前面位数的宽度mod 3 != 0 ,可按,分成$I_step
  405. 部分+1
  406. }
  407.  
  408. $C_cur="";
  409. //对小数点以前的金额数字进行转换
  410. while($I_len<>;0)
  411. {
  412. $I_step--;
  413.  
  414. if($I_step==0)
  415. {
  416. $C_cur .= substr($A_tmp[0],0,$I_len-($I_step)*3);
  417. }else
  418. {
  419. $C_cur .= substr($A_tmp[0],0,$I_len-($I_step)*3).",";
  420. }
  421.  
  422. $A_tmp[0]=substr($A_tmp[0],$I_len-($I_step)*3);
  423. $I_len=strlen($A_tmp[0]);
  424. }
  425.  
  426. //对小数点后面的金额的进行转换
  427. if($A_tmp[1]==""
  428. {
  429. $C_cur .= ".00";
  430. }else
  431. {
  432. $I_len=strlen($A_tmp[1]);
  433. if($I_len<2)
  434. {
  435. $C_cur .= ".".$A_tmp[1]."0";
  436. }else
  437. {
  438. $C_cur .= ".".substr($A_tmp[1],0,2);
  439. }
  440. }
  441.  
  442. //加上人民币符号并传出
  443. $C_cur="".$C_cur;
  444. return $C_cur;
  445. }
  446. //-----------------------------------------------------------------------------------
  447. -------
  448.  
  449.  
  450. //-----------------------------------------------------------------------------------
  451. ------
  452. // 函数名:WindowLocation($C_url,$C_get="",$C_getOther=""
  453. // 作 用:PHP中的window.location函数
  454. // 参 数:$C_url 转向窗口的URL
  455. // $C_get GET方法参数
  456. // $C_getOther GET方法的其他参数
  457. // 返回值: 字符串
  458. // 备 注:无
  459. //-----------------------------------------------------------------------------------
  460. -----
  461. function WindowLocation($C_url,$C_get="",$C_getOther=""
  462. {
  463. if($C_get == "" && $C_getOther == ""
  464. if($C_get == "" && $C_getOther <>; ""{$C_target="\"window.location='$C_url?
  465. $C_getOther='+this.value\"";}
  466. if($C_get <>; "" && $C_getOther == ""{$C_target="\"window.location='$C_url?
  467. $C_get'\"";}
  468. if($C_get <>; "" && $C_getOther <>; ""{$C_target="\"window.location='$C_url?
  469. $C_get&$C_getOther='+this.value\"";}
  470. return $C_target;
  471. }
  472. //-----------------------------------------------------------------------------------
  473. -----
  474.  
  475. ?>

您还可能感兴趣的内容

日志信息 »

该日志于2008-08-23 08:50由 x72 发表在PHP分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

没有评论

发表评论 »


返回顶部