电话号码 手机号码 正则表达式实例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>电话号码 手机号码 正则表达式实例</title>
</head>
<body>
<form id="111cnNet" name="111cnNet" method="post" action="">
<input name="url" type="text" />
<input name="" type="submit" value="提交 "/>
</form>
输入13875998850
输出有效联系方式
输入0136986+9557
输出 联系方式有问题
</body>
</html>
<?
function funcPhone($str)//电话号码正则表达试
{
return (preg_match("/^(((d{3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,8}$/",$str))?true:false;
}
function funcMtel($str)//手机号码正则表达试
{
return (preg_match("/(?:13d{1}|15[03689])d{8}$/",$str))?true:false;
}
if( $_POST)
{
if( funcPhone( $_POST['url'] ) || funcMtel( $_POST['url'] ) )
{
echo '有效联系方式';
}
else
{
exit('联系方式有问题');
}
}
?>
php教程 中文与英语正则表达式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>php 中文与英语正则表达式</title>
</head>
<body>
<form id="111cnNet" name="111cnNet" method="post" action="">
<input name="url" type="text" />
<input name="" type="submit" value="提交 "/>
</form>
</body>
</html>
<?
function funcChinese($str,$num1='',$num2='')//判断中文正则
{
if($num1!='' and $num2!=''){
return (preg_match("/^([x81-xfe][x40-xfe])
{".$num1.",".$num2."}$/",$str))?true:false;
}else{
return (!eregi("[^x80-xff]","$str"))?
true:false;
}
}
if( $_POST)
{
if( funcChinese( $_POST['url'] ) )
{
echo '是中文';
}
else
{
exit('不是有效中文');
}
}
//这个只能一个个字符判断哦,你可以用foreach来处理
?>
adodbzip 类
<?php教程
/**
* AdodbZip 1.1
*
* 作者:
* Z(QQ号602000 QQ群5193883)
*
* 代码示例:
* include_once 'AdodbZip.php';
* $db = AdodbZip::init(NewADOConnection('mysql教程t'));
* echo $db->GetOne('SELECT NOW()');
*
* 流程说明:
* 1. 如果$extract_dir里的Adodb程序文件存在,并且$zip_file不存在;则使用$extract_dir里的Adodb程序文件。
* 2. 如果$extract_dir里的Adodb程序文件存在,并且$zip_file存在;则比较修改时间,$extract_dir里的Adodb程序文件更新为较新的。
* 3. 如果$extract_dir里的Adodb程序文件不存在,并且$zip_file存在;则$extract_dir里的Adodb程序文件从$zip_file解压获得。
* 4. 如果 $extract_dir里的Adodb程序文件不存在,并且$zip_file不存在;则从$zip_url下载Adodb的Zip文件,并解压Adodb的程序文件。
*
* 其他说明:
* 1. $extract_dir可自定义。如果将Adodb的Zip包完全解压到此目录,则可忽略$zip_url和$zip_file设置项,这和传统使用Adodb一样。
* 2. $zip_file可自定义。如果$zip_file存在,则可忽略$zip_url,这样可整站统一使用$zip_file。
* 3. $zip_url可自定义。可随时修改Adodb版本,此时$zip_file和$extract_dir最好使用默认值,各版本互不干扰。
* 4. $server、$user、$pwd、$db可自定义。默认是mysql默认值,此项只有调用AdodbZip::init方法后才起效果。
* 5. $charset可自定义。默认不改变编码,此项只有调用AdodbZip::init方法后才起效果。
* 6. AdodbZip::init方法里可增加Adodb初始化值。
*/
/**
* AdodbZip启动项
*/
// 设定参数
AdodbZip::$zip_url = 'http://c.net教程works-kr-1.dl.sourceforge.net/project/adodb/adodb-php5-only/adodb-509-for-php5/adodb509.zip'; //[设置项]Adodb的Zip文件下载地址,文件比较大建议先下载或者解压
AdodbZip::$zip_file = sys_get_temp_dir () . preg_replace ( '/^.*/(adodb.*?.zip)$/i', 'adodb/$1', AdodbZip::$zip_url ); //[设置项]Adodb的Zip文件缓存位置
AdodbZip::$entry_dir = 'adodb5';
AdodbZip::$extract_dir = sys_get_temp_dir () . 'adodb/' . AdodbZip::$entry_dir; //[设置项]Adodb程序文件缓存位置
AdodbZip::$server = 'localhost'; //[设置项]服务器
AdodbZip::$user = 'root'; //[设置项]用户名
AdodbZip::$pwd = ''; //[设置项]密码
AdodbZip::$db = 'test'; //[设置项]数据库教程
AdodbZip::$charset = ''; //[设置项]编码
// 注册协议
if (! in_array ( 'AdodbZip', stream_get_wrappers () )) {
stream_wrapper_register ( 'AdodbZip', 'AdodbZip' );
}
// 定义常量
if (! defined ( 'ADODB_DIR' )) {
define ( 'ADODB_DIR', 'AdodbZip:/' );
}
// 包含程序
require_once (ADODB_DIR . '/adodb.inc.php');
// $db = AdodbZip::init(NewADOConnection('mysqlt')); // [选择项]引用即定义$db
// return AdodbZip::init(NewADOConnection('mysqlt')); // [选择项]引用即返回$db,注意只可引用一次。
/**
* AdodbZip类定义
*/
class AdodbZip {
/**
* Adodb变量
*/
public static $zip_url;
public static $zip_file;
public static $entry_dir;
public static $extract_dir;
public static $server;
public static $user;
public static $pwd;
public static $db;
public static $charset;
/**
* Stream变量
*/
private $handle;
public $context;
/**
* Adodb函数组
*/
/**
* init
* @param adodb &$adodb
* @return adodb
*/
public static function init(&$adodb) {
$adodb->Connect ( self::$server, self::$user, self::$pwd, self::$db );
if(self::$charset!=''){
$adodb->Execute('SET NAMES '.self::$charset.';');
}
return $adodb;
}
/**
* Stream函数组
*/
/**
* __construct
*/
public function __construct() {
}
/**
* stream_cast
* @param int $cast_as
* @return resource
*/
public function stream_cast($cast_as) {
return false;
}
/**
* stream_close
*/
public function stream_close() {
fclose ( $this->handle );
}
/**
* stream_eof
* @return bool
*/
public function stream_eof() {
return feof ( $this->handle );
}
/**
* stream_flush
* @return bool
*/
public function stream_flush() {
return fflush ( $this->handle );
}
/**
* stream_lock
* @param mode $options
* @return bool
*/
public function stream_lock($options) {
return flock ( $this->handle, $options );
}
/**
* stream_open
* @param string $path
* @param string $mode
* @param int $options
* @param string &$opend_path
* @return bool
*/
public function stream_open($path, $mode, $options, &$opend_path) {
// 验证文件地址
if (! preg_match ( '/^.*?://(.*)$/', $path, $matches )) {
return false;
}
$tmp_file = self::$extract_dir . DIRECTORY_SEPARATOR . $matches [1];
$entry_file = self::$entry_dir . '/' . str_replace ( '\', '/', $matches [1] );
$zip_file = self::$zip_file;
// 验证程序文件
if (! file_exists ( $tmp_file ) || file_exists ( $zip_file ) && filectime ( $tmp_file ) < filectime ( $zip_file )) {
// 下载文件
if (! file_exists ( $zip_file )) {
// 目录处理
if (! is_dir ( dirname ( self::$zip_file ) )) {
if (mkdir ( dirname ( self::$zip_file ), 0777, true ) === false) {
header ( 'Content-type: text/html;charset=utf-8' );
die ( '请创建目录 ' . $zip_dir );
}
}
// 下载文件
if (! file_exists ( self::$zip_file )) {
$break = true;
do {
$url_arr = parse_url ( self::$zip_url );
$fp = fsockopen ( $url_arr ['host'], isset ( $url_arr ['port'] ) ? ( int ) $url_arr ['port'] : 80, $errno, $errstr, 10 );
if ($fp === false) {
break;
}
$out = "GET " . $url_arr ['path'] . " HTTP/1.0rnHost: " . $url_arr ['host'] . " rnConnection: closernrn";
fputs ( $fp, $out );
if (feof ( $fp )) {
break;
}
$buffer = fgets ( $fp, 1024 );
if (! preg_match ( '/^HTTP/1.d 200 /i', $buffer )) {
break;
}
$content_length = false;
$content_start = false;
while ( ! feof ( $fp ) ) {
$buffer = fgets ( $fp, 1024 );
if ($buffer === "rn") {
$content_start = true;
break;
}
if (preg_match ( '/^Content-Length:s*(d+)/i', $buffer, $matches )) {
$content_length = ( int ) $matches [1];
}
}
if ($content_length === false || $content_start === false) {
break;
}
$content = stream_get_contents ( $fp );
if ($content === false) {
break;
}
$result = file_put_contents ( self::$zip_file, $content );
unset ( $content );
if ($result === false) {
break;
}
fclose ( $fp );
} while ( $break = false );
if ($break) {
header ( 'Content-type: text/html;charset=utf-8' );
die ( '请下载文件 <a href="' . self::$zip_url . '">' . self::$zip_url . '.zip</a > 保存为 ' . self::$zip_file );
}
}
}
// 创建目录
$tmp_dir = dirname ( $tmp_file );
if (! is_dir ( $tmp_dir )) {
if (mkdir ( $tmp_dir, 0777, true ) === false) {
header ( 'Content-type: text/html;charset=utf-8' );
die ( '请创建目录 ' . $tmp_dir );
}
}
// 打开压缩文件
$zip = zip_open ( $zip_file );
if (! is_resource ( $zip )) {
return false;
}
// 寻找解压文件
do {
$entry = zip_read ( $zip );
if (! is_resource ( $entry )) {
return false;
}
if (zip_entry_name ( $entry ) == $entry_file) {
break;
}
} while ( true );
// 转存压缩文件
zip_entry_open ( $zip, $entry );
file_put_contents ( $tmp_file, zip_entry_read ( $entry, zip_entry_filesize ( $entry ) ) );
zip_entry_close ( $entry );
zip_close ( $zip );
}
// 打开文件
$this->handle = fopen ( $tmp_file, $mode );
if (! is_resource ( $this->handle )) {
return false;
}
return true;
}
/**
* stream_read
* @param int $count
* @return string
*/
public function stream_read($count) {
return fread ( $this->handle, $count );
}
/**
* stream_seek
* @param int $offset
* @param int $whence=SEEK_SET
* @return bool
*/
public function stream_seek($offset, $whence = SEEK_SET) {
return fseek ( $this->handle, $offset, $whence );
}
/**
* stream_set_option
* @param int $option
* @param int $arg1
* @param int $arg2
* @return bool
*/
public function stream_set_option($option, $arg1, $arg2) {
return false;
}
/**
* stream_stat
* @return array
*/
public function stream_stat() {
return fstat ( $this->handle );
}
/**
* stream_tell
* @return int
*/
public function stream_tell() {
return ftell ( $this->handle );
}
/**
* stream_write
* @param string $data
* @return int
*/
public function stream_write($data) {
return fwrite ( $this->handle, $data );
}
/**
* url_stat
* @param string $path
* @param int $flag
* @return array
*/
public function url_stat($path, $flag) {
if (! preg_match ( '/^.*?://(.*)$/', $path, $matches )) {
return false;
}
$tmp_file = self::$extract_dir . DIRECTORY_SEPARATOR . $matches [1];
if (file_exists ( $tmp_file )) {
if ($flag & STREAM_URL_STAT_LINK) {
return lstat ( $tmp_file );
} else {
return stat ( $tmp_file );
}
}
if ($flag & STREAM_URL_STAT_QUIET) {
$arr = array ('dev' => 0, 'ino' => 0, 'mode' => 0, 'nlink' => 0, 'uid' => 0, 'gid' => 0, 'rdev' => 0, 'size' => 0, 'atime' => 0, 'mtime' => 0, 'ctime' => 0, 'blksize' => 0, 'blocks' => 0 );
return array_merge ( array_values ( $arr ), $arr );
}
return false;
}
}
?>
直接样例view sourceprint?1 <?php
2 include_once 'AdodbZip.php';
3 $db = AdodbZip::init(NewADOConnection('mysqlt'));
4 echo $db->GetOne('SELECT NOW()');
5 ?>
也是两步。
1. 包含AdodbZip.php文件
2. AdodbZip::init(...)函数对adodb连接类进行初始化。
<html>
<title>查百度—百度网站权重SEO工具查询</title>
<meta http-equiv=Content-Language content=zh-cn>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name=keywords content="百度关键字,关键字排名,关键字查询">
<meta name="description" content="百度关键字查询系统的主要功能是:查询百度搜索引擎教程某个关键字的搜索结果中是否包含您的网页,并且能够查询出您的网页排在第几页.">
<meta name="robots" content="index, follow" />
<meta name="googlebot" content="index, follow" />
<style type="text/css教程">
<!--
.STYLE1 {color: #666666}
.STYLE3 {font-size: 12px}
.STYLE6 {color: #0000FF}
.STYLE7 {color: #333333}
-->
</style>
<script language="JavaScript">
function check_value()
{
if (document.myform.kw.value=="")
{
alert("对不起,关键字不能为空!");
document.myform.kw.focus();
return false;
}
if (document.myform.url.value=="")
{
alert("对不起,网址不能为空!");
document.myform.url.focus();
return false;
}
}
</script>
<body>
<H1>百度网站权重(SEO)查询工具</H1>
<br>
<form id="myform" name="myform" method="get" action="so.php教程" target="_blank" onSubmit="return check_value();">
<label>请输入关键字:
<input name="kw" type="text" size="30" />
</label>
<p>
<label>请输入网址:
<input name="url" type="text" size="30" />
</label>
<br>
<span class="STYLE1"> </span></p>
<p>
<label>查询深度:
<input type="text" name="depth" size="30" />
</label>
<br>
<span class="STYLE1"> <span class="STYLE3">查询深度指的是要查询的总页数,默认为10页度</span></span></p>
<p>
<label>
<input type="submit" name="Submit" value="查询我网站的权重" />
</label>
</p>
</form>
<h5>
<span class="STYLE7 STYLE3">百度关键字查询系统的主要功能是:查询百度搜索引擎某个关键字的搜<br>
索结果中是否包含您的网页,并且能够查询出您的的网页排在第几页.如果排名较差可以考虑适当的再忧化一下您的网站了。<br>
</span><br>
近日将会推出站长和百度的更多实用功能,敬请关注!
</h5>
</body>
</html>
//php处理代码
<?php
function get_microtime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
$time_start = get_microtime();
set_time_limit(0);
$kw=$_GET["kw"];
$url=$_GET["url"];
$depth=$_GET["depth"];
$next=1;$pn=0;$flag=0;$n=1;$ps教程=0;
$baseurl="http://www.baidu.com/s?";
$kw=str_replace("+","%2B",$kw);
$kw=str_replace(" ","%20",$kw);
if($depth==""||$depth<=0) $depth=10;
if($depth>76) $depth=76;
echo "<title>百度网站关键字权重查询 -- ".$kw."</title>";
echo "<H2>百度网站关键字权重查询结果</H2>";
//echo "<br>";
echo "<br>查询深度为:<strong>".$depth."</strong><br>";
while($next==1)
{
$baidu_url=$baseurl."lm=0&si=&rn=10&tn=wangcong&ie=gb2312&ct=0&wd=".$kw."&pn=".$pn."&cl=3";
$str=file_get_contents($baidu_url);
$baidu_url=str_replace("%20","+",$baidu_url);
if(strpos($str,$url))
{
if($n==1) echo "在百度中查找关键字:'<strong>".$kw."</strong>',来自'<strong>".$url."</strong>'的结果有:<br><br>";
$pagenum=$pn/10+1;
echo "<br> 第".$n."条结果, ";
echo "在百度搜索结果中排在第".$pagenum."页";
echo "<br>";
echo " <a href=".$baidu_url." target=blank>点此查看</a>";
echo "<br><br>";
$flag=1;
$n=$n+1;
}
$pn=$pn+10;
$ps=$ps+1;
if($ps==$depth) $next=0;
if(!strpos($str,"<font size=3>下一页</font>")) $next=0; //判断有没有下一页;
}
$time_end = get_microtime();
$time = $time_end - $time_start;
if($flag==0) echo "<br>在当前的深度条件下没有找到来自 <strong>".$url."</strong> 的结果,您的忧化还有待进步,您可以尝试加大查询深度.<br><br>";
$n=$n-1;
echo "<br><strong>统计信息:</strong>一共找了".$ps."页,找到".$n."条相关结果,耗时:".$time."秒.<br><br><br>";
?>
mysql教程_connect('localhost','root','root') or die('database connect failer');
mysql_select_db('m');
mysql_query("set Names 'gb2312'");
$sql = "Select aid,introduce from d_addonsoft order by aid desc limit 0,2";
$query = mysql_query( $sql );
while( $rs = mysql_fetch_array( $query ) )
{
$body = keywords($rs['introduce'],$array);
$s ="Update d_addonsoft set introduce ='$body' where aid=".$rs['aid'];
mysql_query($s);
echo $body,'<br />';
}
$array = array(
array('aa','/bb/'),
array('cc','111cnnet')
);
$str ='bb 矢量 cc 矢量素材';
echo keywords($str,$array);
function keywords( $str,$array )
{
$count =0;
foreach($array as $v){
echo $v[0],'<br/>';
if(strstr($str,$v[0])!==false){
if( $count <=2 ){
$str=preg_replace("/$v[0]/","<a href=".$v[1]." target=_blank >".$v[0]."</a>",$str,1);
$count++;
continue;
}
}
}
return $str;
}
?>
相关文章
- 取双引号内的内容我们如果一个字符串中只有一个可以使用explode来获得,但如果有多个需要使用正则表达式来提取了,具体的例子如下。 写程序的时候总结一点经验,如何只...2016-11-25
- 今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
- 正则表达式是一门非常有用的并且进行模糊判断的一个功能了,我们下面来看通过正则来验证输入汉字、英语、数字,具体如下。 收藏了正则表达式。可以验证只能输入数...2016-11-25
- 这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
- 常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
- 网址规则是可寻的,所以我们可以使用正则表达式来提取字符串中的url地址了,下面一起来看看小编整理的几个PHP正则表达式匹配验证提取网址URL实例. 匹配网址 URL 的...2016-11-25
- 这篇文章主要介绍了正则表达式中两个反斜杠的匹配规则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
- 这篇文章给大家详细介绍了JS中使用正则表达式g模式和非g模式的区别,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2017-04-03
- 这篇文章主要介绍了C#正则表达式使用方法,大家参考使用...2020-06-25
- c#正则表达式,用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。...2020-06-25
- 本文主要介绍了JavaScript利用正则表达式替换字符串中内容的具体实现方法,并做了简要注释,便于理解。具有一定的参考价值,需要的朋友可以看下...2017-01-09
- 这篇文章主要介绍了python正则表达式常用函数及使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
- 这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-07-21
- 今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
- 正则表达式的作用用来描述字符串的特征。本文重点给大家介绍C# 中使用正则表达式匹配字符的含义,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧...2020-06-25
- 这篇文章主要给大家介绍了关于利用Python验证的50个常见正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-11
- 这篇文章主要介绍了C#运算符和表达式,这是自学C#编程的第五篇,希望对大家的学习有所帮助。...2020-06-25
- 这篇文章主要介绍了微信小程序开发之获取用户手机号码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-18
- 这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
- 在本篇文章里小编给大家整理的是一篇关于js用正则表达式筛选年月日的实例方法,对此有兴趣的朋友们可以学习下。...2021-01-04