多数大学生出来选择的工作和专业无关
首页 > 专业知识

php用户注册信息验证正则表达式_PHP

时间:2019-01-25 18:25:05 [来源]:郑州PHP培训学校

   php用户注册信息验证正则表达式_PHP

  下面这个正则验证用户名的方法原则是这样的用户名必须是由字母带数字带定划线组成了,下面一起来看看例子吧.
  1.检查用户名是否符合规定“两位以上的字母,数字,或者下划线”,代码如下:
  /**
  * 检查用户名是否符合规定
  *
  * @param STRING $username 要检查的用户名
  * @return TRUE or FALSE
  */
  function is_username($username)
  {
  $strlen = strlen($username);
  if (!preg_match("/^[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+$/",$username)) //开源软件:phpfensi.com
  {
  return false;
  } elseif (20 < $strlen || $strlen < 2)
  {
  return false;
  }
  return true;
  }
  两位以上的字母,数字,或者下划线:^[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+$.
  注:在这里,字母是a-z,A-Z,以及从127 到255(0x7f-0xff)的 ASCII 字符2、密码:6—20位,由字母、数字组成,代码如下:
  function isPWD($value,$minLen=5,$maxLen=16){$match='/^[\\~!@#$%^&*()-_=+|{}\[\],.?\/:;\'\"\d\w]{'.$minLen.','.$maxLen.'}$/';$v = trim($value);
  if(emptyempty($v))
  return false;
  return preg_match($match,$v);
  }
  3、email验证,代码如下:
  function isEmail($value,$match='/^[\w\d]+[\wd-.]*@[w\d-.]+\.[\w\d]{2,10}$/i'){
  $v = trim($value);
  if(emptyempty($v))
  return false;
  return preg_match($match,$v);
  }
  PHP抓取及分析网页的方法详解_PHP
  本文实例讲述了PHP抓取及分析网页的方法。分享给大家供大家参考,具体如下:
  抓取和分析一个文件是非常简单的事。这个教程将通过一个例子带领你一步一步地去实现它。让我们开始吧!
  首先,我首必须决定我们将抓取的URL地址。可以通过在脚本中设定或通过$QUERY_STRING传递。为了简单起见,让我们将变量直接设在脚本中。
  <?php
  $url = 'http://www.php.net';
  ?>
  第二步,我们抓取指定文件,并且通过file()函数将它存在一个数组里。
  <?php
  $url = 'http://www.php.net';
  $lines_array = file($url);
  ?>
  好了,现在在数组里已经有了文件了。但是,我们想分析的文本可能不全在一行里面。为了解决这个文件,我们可以简单地将数组$lines_array转化成一个字符串。我们可以使用implode(x,y)函数来实现它。如果在后面你想用explode(将字符串变量数组),将x设成"|"或"!"或其它类似的分隔符可能会更好。但是出于我们的目的,最好将x设成空格。y是另一个必要的参数,因为它是你想用implode()处理的数组。
  <?php
  $url = 'http://www.php.net';
  $lines_array = file($url);
  $lines_string = implode('', $lines_array);?>
  现在,抓取工作就做完了,下面该进行分析了。出于这个例子的目的,我们想得到在到之间的所有东西。为了分析出字符串,我们还需要叫做正规表达式的东西。
  <?php
  $url = 'http://www.php.net';
  $lines_array = file($url);
  $lines_string = implode('', $lines_array);eregi("(.*)", $lines_string, $head);
  ?>
  让我们看一下代码。正如你所见,eregi()函数按下面的格式执行:
  eregi("(.*)", $lines_string, $head);
  "(.*)"表示所有东西,可以解释为,"分析在和间的所以东西"。$lines_string是我们正在分析的字符串,$head是分析后的结果存放的数组。
  最后,我们可以输数据。因为仅在和间存在一个实例,我们可以安全的假设数组中仅存在着一个元素,而且就是我们想要的。让我们把它打印出来吧。
  PHP版本常用的排序算法汇总_PHP
  //1、冒泡排序
  function bubble_sort($arr){
  $n = count($arr);
  for($i=0;$i<$n-1;$i++){
  for($j=$i+1;;$j<$n-$i;$j++){
  if($arr[$j]<$arr[$i]){
  $temp = $arr[$i];
  $arr[$i] = $arr[$j];
  $arr[$j] = $temp;
  }
  }
  }
  }
  //2、归并排序
  //merge函数将指定的两个有序数组(arr1arr2,)合并并且排序//我们可以找到第三个数组,然后依次从两个数组的开始取数据哪个数据小就先取哪个的,然后删除掉刚刚取过///的数据function al_merge($arrA, $arrB)
  {
  $arrC = array();
  while (count($arrA) && count($arrB)) {
  //这里不断的判断哪个值小,就将小的值给到arrC,但是到最后肯定要剩下几个值,//不是剩下arrA里面的就是剩下arrB里面的而且这几个有序的值,肯定比arrC里面所有的值都大所以使用$arrC[] = $arrA['0'] < $arrB['0'] ? array_shift($arrA) : array_shift($arrB);}
  return array_merge($arrC, $arrA, $arrB);
  }
  //归并排序主程序
  function al_merge_sort($arr)
  {
  $len = count($arr);
  if ($len <= 1) {
  return $arr; //递归结束条件,到达这步的时候,数组就只剩下一个元素了,也就是分离了数组}
  $mid = intval($len / 2); //取数组中间
  $left_arr = array_slice($arr, 0, $mid); //拆分数组0-mid这部分给左边left_arr$right_arr = array_slice($arr, $mid); //拆分数组mid-末尾这部分给右边right_arr$left_arr = al_merge_sort($left_arr); //左边拆分完后开始递归合并往上走$right_arr = al_merge_sort($right_arr); //右边拆分完毕开始递归往上走$arr = al_merge($left_arr, $right_arr); //合并两个数组,继续递归return $arr;
  }
  $arr = array(12, 5, 4, 7, 8, 3, 4, 2, 6, 4, 9);print_r(al_merge_sort($arr));
  //3、二分查找-递归
  //二分查找-递归
  function bin_search($array,$low,$high,$k){if($low <= $high){
  $mid = intval(($low+$high)/2);
  }else{
  return false;
  }
  if($array[$mid] == $k){
  return $mid;
  }elseif($k < $array[$mid]){
  return bin_search($array,$low,$mid-1,$k);}else{
  return bin_search($array,$mid+1,$high,$k);}
  }
  $arr = array(12, 5, 4, 7, 3, 8, 4, 2, 6, 4, 9);$index = bin_search($arr,0,10,12); //直接输出为空,不解echo(intval($index));
 

上一篇:PHP二维数组赋值的相关知识介绍

下一篇:恰当应用函数实现PHP获取表字段名