教研室的下午,取快递的一天

hi!

今天在教研室感觉完全没有看论文的状态,不如学点其他的。

1、JS

-JS的对象定义和PHP有所不同,又有相通的地方,学起来有点意思,感觉用好了会很熟练,上手有点难度

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>日期对象 </title>
<script type="text/javascript">

//日期时间对象的属性
var mydate=new Date();
document.write("当前时间:"+mydate+"<br>");
mydate.setTime( mydate.getTime()+ 2* 60 * 60 * 1000);
document.write("推迟二小时时间:" + mydate);

//字符串对象的属性

var message="I love JavaScript!";
var mychar= message.toLowerCase() ;
document.write("字符串为:"+mychar+"<br>");

var mystr="I love JavaScript!";
document.write(mystr.charAt(mystr.length-1) );//返回字符串中最后一个字符

document.write(mystr.indexOf("o",mystr.indexOf("o")+1));//定位第二个o出现的位置,没有则返回-1

document.write(mystr.split("-") + "<br />");//对字符串分割输出
document.write(mystr.split("") + "<br />");
document.write(mystr.split("",3) );

document.write(mystr.substring(mystr.indexOf("W")) + "<br />");//提取输出一些字符串
document.write(mystr.substring(mystr.indexOf("H"),5) );

document.write(mystr.substr(5) + "<br />");
document.write(mystr.substr(0,5) );

//下面是数学类型的对象

document.write(Math.ceil(3.3) + "<br />")//向上取整.ceil() 注意负数
document.write(Math.ceil(-0.1) + "<br />")
document.write(Math.ceil(-9.9) + "<br />")
document.write(Math.ceil(8.9) + "<br />")

document.write(Math.floor(3.3)+"</br>")  //向下取整
document.write(Math.floor(-0.1)+"</br>")
document.write(Math.floor(-9.9)+"</br>")
document.write(Math.floor(8.9)+"</br>")

document.write(Math.round(3.3)+"</br>")  //四舍五入
document.write(Math.round(-0.1)+"</br>")
document.write(Math.round(-9.9)+"</br>")
document.write(Math.round(8.9)+"</br>")

document.write(Math.round(Math.random()*10))  //随机数random(),随机生成0-1,所以0-100,就是后面*100,类推

//Array数组对象

var myarr1= new Array("010")  //数组链接 .concat()
var myarr2= new Array("-","84697581");
document.write(myarr1.concat(myarr2))

var myarr1= new Array("86","010")  //提取数组内容到一个字符串, .join(“字符串”)
var myarr2= new Array("84697581");
var myarr3= myarr1.concat(myarr2);
document.write(myarr3.join("-"))

document.write(myarr1.reverse())  //字符串倒序输出  .reverse()

document.write(myarr1.slice(-3))  //输出一系列元素


</script>
</head>
<body>
</body>
</html>

 

2、PHP

-关于正则表达式

-常用的元字符,如下:

\ 一般用于转义字符(注意和隔断符/区分)
^ 断言目标的开始位置(或在多行模式下是行首)
$ 断言目标的结束位置(或在多行模式下是行尾)
. 匹配除换行符外的任何字符(默认)
[ 开始字符类定义
] 结束字符类定义
| 开始一个可选分支
( 子组的开始标记
) 子组的结束标记
? 作为量词,表示 0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性。 (查阅量词)
* 量词,0 次或多次匹配
+ 量词,1 次或多次匹配
{ 自定义量词开始标记
} 自定义量词结束标记

元字符具有两种使用场景,一种是可以在任何地方都能使用,另一种是只能在方括号内使用,在方括号内使用的有:

\ 转义字符
^ 仅在作为第一个字符(方括号内)时,表明字符类取反
- 标记字符范围

其中^在反括号外面,表示断言目标的开始位置,但在方括号内部则代表字符类取反,方括号内的减号-可以标记字符范围,例如0-9表示0到9之间的所有数字。

<?php
//分隔字符串
$str = 'sun-moon-star';
$result = explode('-', $str);
print_r($result);
array('sun','moon','star');

//正则表达式相关内容

$p = '/BBC/';  //或者$p='/bbc/i';——正则表达式就是元字符+分隔符(常用~#/)+模式修饰符
$str1 = "BBC是英国的一个电视台";
if (preg_match($p, $str1)) {
echo '匹配成功';

//

$pa = '/[0-9]{3}-[0-9]{8}/';
$str2= "我的电话是010-12345678";
preg_match($pa, $str2, $match);
echo $match[0];

?>

--贪婪模式和懒惰模式

正则表达式中每个元字符匹配一个字符,当使用+之后将会变的贪婪,它将匹配尽可能多的字符,但使用问号?字符时,它将尽可能少的匹配字符,既是懒惰模式。

贪婪模式:在可匹配与可不匹配的时候,优先匹配

懒惰模式:在可匹配与可不匹配的时候,优先不匹配

当我们确切的知道所匹配的字符长度的时候,可以使用{}指定匹配字符数

\w 字母数字下划线
\s 空白字符 空格 换行 制表符
\d 数字范围[0,9]

( ) 捕获性分组,取得的值会放入$match数组,$match[0]始终是匹配的结果,所以无论多少个( )捕获性分组,都是从1开始算,从左往右计数。
[ ]非捕获性分组,匹配的结果不会被存放如$match数组。

 

3、正则表达式

--正则表达式是一种自定义的规则,一般可以理解为一种字符串的查询和匹配的工具

--PHP中常用的正则表达式函数以及常用变量名:

$pattern--正则表达式

$subject--匹配的目标数据

--preg_match()和preg_match_all()

preg_match($pattern,$subject,[array &$matches])

preg_match_all($pattern,$subject,array &$matches)

作用:匹配正则和目标,存到$matches

返回匹配次数,其中前者只会返回0或1

--preg_replace  preg_filter

preg_replace($pattern,$replacement,$subject)

preg_filter($pattern,$replacement,$subject)

一目了然

<?php
/*
* Description:PHP 正则表达式函数
*
* @name:show
* @description:output debug
* @param $var:input data
* @return void
*
*/

//preg_match,preg_match_all
$pattern='/[0-9]/';
$subject='lkfaj3243lkj34lkj234lkj3';
$m1=$m2=array();

$t1=preg_match($pattern,$subject,$m1);
$t2=preg_match_all($pattern,$subject,$m2);

show($m1);
echo '<hr/>';
show($m2);
show($t1.'||'.$t2);

//preg_replace preg_filter,返回结果基本上一模一样,只有在替换数组时不一样
$replacement="替换";

$r1=preg_replace($pattern,$replacement,$subject);
$r2=preg_filter($pattern,$replacement,$subject);

show($r1);
echo '<hr/>';
show($r2);


function show($var=null){
if(empty($var)){
echo 'null';
}elseif(is_array($var)||is_object($var)){
//array,object
echo '<pre>';
print_r($var);
echo '</pre>';
}else{
//string,int,float...
echo $var;
}
}

?>

 

 

 

 

 

 

 

 

 

posted @ 2015-10-20 16:15  韧还  阅读(182)  评论(0编辑  收藏  举报