教研室的下午,取快递的一天
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;
}
}
?>