PHP正则匹配中文字母数字正则表达式

在php中匹配数字与字母很简单,但是匹配中文汉字时就会出现一些问题了,下面我来给大家介绍在php中匹配中文,数字,字母的一些方法。

方法一,代码如下:

  1. if(preg_match("/^d*$/", "4312"))
  2. {
  3. echo "全数字
  4. ";
  5. }
  6. if(preg_match("/^[a-z]*$/i", "fdsFDfd"))
  7. {
  8. echo "全字母
  9. ";
  10. }
  11. if(preg_match("/^[a-zd]*$/i", "fd4fd34"))
  12. {
  13. echo "有数字有字母
  14. ";
  15. }

中文汉字,代码如下:

  1. $username=$_REQUEST['username'];
  2. if(!preg_match("/^[a-z0-9xa1-xff]{3,10}$/",$username))
  3. {
  4. echo"34r345";
  5. exit;
  6. }

上面是比较散的,下面把几个总结到一起来,代码如下:

  1. $input_tag = $_POST['tag'];
  2. $input_tag = explode(',', $input_tag);
  3. $input_tag = array_unique($input_tag);
  4. $input_tag = array_diff($input_tag, array(null));
  5. $leng = '';
  6. $true = '';
  7. $comma = '';
  8. foreach ($input_tag as $v) {
  9. if (strlen($v) > 18) {
  10. $leng .= $comma . $v;
  11. $comma = ',';
  12. }
  13. $true .= $comma . $v;
  14. $comma = ',';
  15. }
  16. $true = str_replace(',', '', $true);
  17. if (!preg_match('/^[x80-xff_a-zA-Z0-9]+$/', $true)) {
  18. echo "<script>alert('不允许特殊符号的!!!');</script>";
  19. exit;
  20. }
  21. if (!emptyempty($leng)) {
  22. echo "<script>alert('一个标签只能是6个汉字以内哦!!!');</script>";
  23. exit;
  24. }