php中文汉字截取函数

 更新时间:2016年11月25日 15:11  点击:2103
要截取的字符串, $num要截取的长度, 返回截取的字符串
 代码如下 复制代码
public function substrgb($in,$num)
    {
      //$num=16;
      $pos=0;
      $bytenum=0;
      $out="";
      while($num){
   
    $c=mb_substr($in,$pos,1,"euc-jp");
    if($c==" ") break;
    if(strlen($c)==1){
      $pos++;
      $bytenum++;
      if($bytenum>$num) break;
      $out.=$c;                       
    }
    else
      {
        $pos++;
        $bytenum=$bytenum+2;
        if($bytenum>$num) break;
        $out.=$c;                  
      }
      }
      return $out;
    }
 代码如下 复制代码
<! doctype html public "-//w3c//dtd html 4.0//en"
"http://www.w3.org/tr/rec-html140/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>ajax用户注册演示程序</title>
<script language="网页特效" type="text/网页特效">
<!--
//创建函数
function createxmlhttp()
{
  var request;
  var browser = navigator.appname;
  //使用ie,则使用xmlhttp对象
  if(browser == "microsoft internet explorer")
  {
    var arrversions = ["microsoft.xmlhttp", "msxml2.xmlhttp.4.0",
      "msxml2.xmlhttp.3.0", "msxml2.xmlhttp","msxml2.xmlhttp.5.0"];
    for (var i=0; i < arrversions.length; i++)
    {
      try
      {
 //从中找到一个支持的版本并建立xmlhttp对象
        request = new activexobject(arrversions[i]);
        return request;
      }
      catch (exception)
      {
        //忽略,继续
      }
    }
  }
  else
  {
    //否则返回一个xmlhttprequest对象
    request = new xmlhttprequest();
    if(request.overridemimetype)
    {
    request.overridemimetype('text/xml');
   }
    return request;
  }  
}
//全局xmlhttp对象实例变量
var http = createxmlhttp();
//发送请求
function chkuser()
{
  var url = "check.php教程";    //请求"checkusername" servlet
  var name = document.getelementbyid("username").value;  
  url += ("?username="+escape(name)+"&oprate=chkuser");
  http.open("get",url,true);
  http.onreadystatechange = processhttpresponse;
  http.send(null);
  return ;
}
//处理响应
function processhttpresponse()
{
  if(http.readystate == 4)
  {
    if(http.status == 200)
    {
     var xmldocument = http.responsexml;
     if(http.responsetext!="该用户名有效,可以使用!")
      {
 //返回的信息动态显示
      document.getelementbyid("showstr").style.display = "";
      document.getelementbyid("username").style.background= "#ff0000";
      document.getelementbyid("showstr").innertext = http.responsetext;
     }
      else
      {
      document.getelementbyid("username").style.background= "#ffffff";
      document.getelementbyid("showstr").style.display = "";
        document.getelementbyid("showstr").innertext = http.responsetext;
     }
    }
    else
    {
    alert("你所请求的页面发生异常,可能会影响你浏览该页的信息!");
    alert(http.status);
    }
  }
}
//检验输入密码
function chkpassword()
{
  var m=document.form1;
  if(m.password.value.length>20 || m.password.value.length<6 )
  {
    document.getelementbyid("passwordstr").style.display = "";
   document.getelementbyid("password").style.background= "#ff0000";
   document.getelementbyid("passwordstr").innertext = "对不起,密码必须为英文字母、数字或下划线,长度为6~20!";
   }
   else
   {
    document.getelementbyid("password").style.background= "#ffffff";
    document.getelementbyid("passwordstr").style.display = "none";
   }
}
//验证两次密码是否一致
function chkconfirmpassword()
{
   var m=document.form1;
  if (m.password.value != m.confirmpassword.value)
  {
   document.getelementbyid("confirmpasswordstr").style.display = "";
   document.getelementbyid("confirmpassword").style.background= "#ff0000";
   document.getelementbyid("confirmpasswordstr").innertext = "对不起,密码与重复密码不一致!";
  }
  else
  {
   document.getelementbyid("confirmpassword").style.background= "#ffffff";
   document.getelementbyid("confirmpasswordstr").style.display = "none";
  }
}
//验证email是否有效
function chkemail()
{
   var m=document.form1;
   var email = m.email.value; 
   //正则表达式
  var regex = /^([a-za-z0-9_-])+@([a-za-z0-9_-])+(.[a-za-z0-9_-])+/;   
  var flag = regex.test(email);        
  if(!flag)   
  {
     document.getelementbyid("emailstr").style.display = "";
   document.getelementbyid("email").style.background= "#ff0000";
   document.getelementbyid("emailstr").innertext = "对不起,邮箱地址无效!"; 
  }   
  else   
  {
     document.getelementbyid("email").style.background= "#ffffff";
   document.getelementbyid("emailstr").style.display = "none"; 
  }
  
}
//提交检查函数
function submitcheck()
{
  var m=document.form1;
  if(m.username.value.length==0)
  {
   alert("对不起,用户名必须为英文字母、数字或下划线,长度为5~20。");
   m.username.focus();
   return false;
  }
  if(m.password.value.length==0)
  {
   alert("对不起,密码必须为英文字母、数字或下划线,长度为5~20。");
   m.password.focus();
   return false;
  }
  if (m.password.value != m.confirmpassword.value)
  {
   alert("对不起,密码与重复密码不一致!");
   m.confirmpassword.focus();
   return false;
  }
  if(m.email.value.length==0)
  {
   alert("对不起,邮箱地址不能为空!!");
   m.email.focus();
   return false;
  }
  m.submit();
}
//-->
</script>
<body >
<form name="form1" method="post" action="register.php">
<h3 align="center">ajax用户注册程序</h3>
<table align="center" width="500" border="1" >
  <tr>
    <td><font color="red">*</font></td>
    <td width="100">用户帐号:</td>
    <td><input type="text" name="username" maxlength="20" style="background=#ffffff" onblur="chkuser()"></td>
    <td><div id="showstr" style="background-color:#ff9900;display:none"></div></td>
  </tr>
  <tr>
    <td><font color="red">*</font></td>
    <td>用户密码:</td>
    <td align="left"><input type="password" name="password" maxlength="22" style="background=#ffffff" onblur="chkpassword()"/> </td>
    <td><div id="passwordstr" style="background-color:#ff9900;display:none"></div></td>
  </tr>
  <tr>
    <td><font color="red">*</font></td>
    <td>确认密码:</td>
    <td><input type="password" name="confirmpassword" maxlength="20" style="background=#ffffff" onblur="chkconfirmpassword()"/></td>
    <td><div id="confirmpasswordstr" style="background-color:#ff9900;display:none"></div></td>
  </tr>
  <tr>
    <td><font color="red">*</font></td>
    <td>email:</td>
    <td><input type="text" name="email" maxlength="100"  style="background=#ffffff" onblur="chkemail()"></td>
    <td><div id="emailstr" style="background-color:#ff9900;display:none"></div></td>
  </tr>
</table>
<div align="center">
 
   <input type="button" name="ok" value=" 确定 " onclick="submitcheck()">
   <input type="reset" name="reset" value=" 取消 ">
  </form>
</div>
</body>
</html>

reg.php检测程序

 代码如下 复制代码

<?php
header("content-type:text/html;charset=gb2312");
@mysql教程_connect('localhost','root','ebaeba') or die("数据库教程服务器连接失败");
@mysql_select_db("test") or die("数据库不存在或不可用");

 

$uname = $_get['username'];
//下面进行数据库查询  查找是不是有这一个用户
//如果没有查找到这个用户名

 

$sql="select * from t1 where name='".$uname."'";
$query=mysql_query($sql);
$row=mysql_fetch_object($query);

if(strlen($uname)<6||strlen($uname)>20)
{
   $msg="用户名必须是6至20个字符.";
}
else
{
 
   if($row==false)
   {
      $msg="该用户名有效,可以使用!";
   }
   else
   {
      $msg="对不起,此用户名已经存在,请更换用户名注册!";
   }
}
echo $msg ;
?>

在WEB开发中经常会用到cookie来帮我们处理一些小问题,下面我们就写了一个简单的关于php cookie函数的设置与删除cookie的代码。


/**
  * 设置cookie
   * n 名称
   * c 值
   * e 有效期 0 默认 一个月 1 关闭立即失效
   */
 

 代码如下 复制代码
function w_cookie($n, $c, $e = 0,$isdes=1)
 {
   if($isdes==1){$c=endes($c,deskey);}
      $exp = time() + 3600 * 24 * 30;
      if($e == 0)
     {
          setcookie($n, $c, $exp,"/");
     }
     else
     {
      setcookie($n, $c,0,"/");
      }
 }


 
 //关闭cookie方法
 

 代码如下 复制代码
 w_cookie('bb', 'www.111cn.net', $e = 0,$isdes=1);


 
 //开启设置cookie方法

 代码如下 复制代码
 
 w_cookie('bb', 'www.111cn.net', $e = 1,$isdes=1);


?>

三款三种常用验证函数 验证邮箱地址格式 验证密码只能为数字和字母的组合 验证用户名是否以字母开头代码哦,这是用户注册时或提交表单时会用的哦。
 代码如下 复制代码
 function is_email($email)
 {
  if (preg_match("/[a-za-z0-9]+@[a-za-z0-9]+.[a-z]{2,4}/",$email,$mail))
  {
      return true;
  }
  else
  {
      return false;
  }
 }

 /**
  * 验证用户名是否以字母开头
  */
 

 代码如下 复制代码
function is_user_name($user)
 {
  if (preg_match("/^[a-za-z]{1}([a-za-z0-9]|[._]){3,19}$/",$user,$username))
  {
      return true;
  }
  else
  {
      return false;
  }
 }

 /**
  * 验证密码只能为数字和字母的组合
  */
 

 代码如下 复制代码
function is_ps教程d($psd)
 {
  if (preg_match("/^(w){4,20}$/",$psd,$password))
  {
      return true;
  }
  else
  {
      return false;
  }
 }

 

 代码如下 复制代码

 function split_en_str($str,$distinct=true)
 {
  preg_match_all('/([a-za-z]+)/',$str,$match);
        if ($distinct == true)
        {
         $match[1] = array_unique($match[1]);
        }
        sort($match[1]);

        return $match[1];
 }

//实例应用

 代码如下 复制代码
$str ='word,word,world,cup';
print_r(split_en_str($str,$distinct=true));

/*
array
(
    [0] => cup
    [1] => word
    [2] => world
)
*/

[!--infotagslink--]

相关文章

  • js URLdecode()与urlencode方法支持中文解码

    下面来介绍在js中来利用urlencode对中文编码与接受到数据后利用URLdecode()对编码进行解码,有需要学习的机友可参考参考。 代码如下 复制代码 ...2016-09-20
  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • 关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

    最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。首先:用show variables like “%colla%”;show varables like “%char%”;这两条...2015-11-24
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C#读取中文文件出现乱码的解决方法

    这篇文章主要介绍了C#读取中文文件出现乱码的解决方法,涉及C#中文编码的操作技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • Windows服务器MySQL中文乱码的解决方法

    我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15
  • Mysql在debian系统中不能插入中文的终极解决方案

    在debian环境下,彻底解决mysql无法插入和显示中文的问题Linux下Mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>use...2013-10-04
  • linux mint 下mysql中文支持问题

    一.mysql默认不支持中文,它的server和db默认是latin1编码.所以我们要将其改变为utf-8编码,因为utf-8包含了地球上大部分语言的二进制编码 1.关闭mysql服务 sudo /etc/init.d/mysql stop 2.修改mysql配置文件 mysql配...2015-10-21
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31