JavaScript学习笔记

William
2020-04-10 / 0 评论 / 24 阅读 / 正在检测是否收录...

正则表达式

\d可匹配一个数字
\w可匹配一个字母
\s可匹配一个空格(包括tab键)
.可以匹配一个任意字符

1、在匹配边长的字符,正则表达式中,用:

表示任意个字符
+表示至少有1个字符
?表示0个或1个字符(即可有可无)
{n}表示匹配n个字符
{n,m}表示匹配n-m个字符
i表示对大小写不敏感

举个例子:\d{3}\s+\d{3,8}

1、\d{3}表示匹配3个数字,例如010;

2、\s可以匹配一个空格(也包括Tab等空白符),所以\s+表示至少有一个空格,例如匹配 ,\t\t等;

3、\d{3,8}表示3-8个数字,例如1234567。
上面匹配的是以3个数字开头,用一个空格隔开,后接3到8位数的 一个区的短号。 比如010 345678

2、进阶(更精确的匹配)

使用[]可以更精确的匹配

[0-9a-zA-Z\_]可以匹配一个 数字、字母或者下划线;

[0-9a-zA-Z\_]可以匹配 至少 由一个数字、字母或者下划线组成的字符串,比如a100,0_Z,js2015等等;``可以没有其中的一两项

[a-zA-Z\_\$][0-9a-zA-Z\_\$]可以匹配由字母或下划线、$开头,后接任意个由一个数字、字母或者下划线、$组成的字符串,也就是JavaScript允许的变量名;

[a-zA-Z\_\$][0-9a-zA-Z\_\$]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。
A|B可以匹配A或B,所以(J|j)ava(S|s)cript可以匹配JavaScript、Javascript、javaScript或者javascript
^表示行的开头,^\d表示只能以数字开头
$表示行的结束,\w$表示只能以字母结束

以下特殊字符需要转义

. ? + $ ^ [ ] ( ) | \ / - , ;

3、实用正则

验证EMail正则表达式:

/^([a-zA-Z0-9_\-\.])+\@([a-zA-Z0-9_\-\.])+\.([A-Za-z]{2,4})$/

4、浏览器

window变量充当全局作用域,还表示浏览器窗口。

window对象有 innerwidthinnerheight 两个属性,可以获取浏览器的内部宽和内部高度。

【注】内部宽高指的是出去菜单栏,工具栏,边框等占位元素后,用于显示网页的净宽高。

在浏览器的console控制台输入:

console.log(window inner size + window.innerwidth + x + window.innerheight);

输出: window inner size: 1440 x 790 // 这是我的13.3寸的macbook air

outerwidth and outerheight 显示的是整个屏幕的大小,也就是你电脑显示屏的完整大小。(能显示东西的)

navigator表示浏览器的信息,常用属性

navigator.appName浏览器名称;
navigator.appVersion: 浏览器版本;
navigator.language浏览器设置的语言;
navigator.platform操作系统类型;
navigator.userAgent浏览器设置的 User-Agent 字符串

screen对象表示屏幕的信息,常用属性有:

screen.width: 屏幕宽度,以像素为单位
screen.height 屏幕高度,以像素微单
screen.colorDepth 返回颜色数,如 8、 16、 24

location对象表示当前页面的URL信息。例如,一个完整的URL:

http://www.example.com:8080/path/index.html?a=1&b=2#TOP
location.protocol; 
// http location.host; 
// www.example.com location.port; 
// 8080 location.pathname; 
// /path/index.html location.search; 
// ?a=1&b=2 location.hash; 
// TOP

重新加载一个页面 locaction.assign()

重新加载当前页面 location.reload()

让网页弹出一个对话框 confirm('你刚才点了我吗?')

5、操作文件

对文件的操作只有一种,那就是`,而且表单中,method 必须得是 post ,并且enctype必须得是multipart/form-data`

为减轻服务器的负载,用js在用户提交表单时,对用户上传的文件类型进行判断:

var f = document.getElementById(testupload);
var filename = f.value;
if (!filename || !(filename.endsWith(.jpg)) || !(filename.endsWith(png)) || !(filename.endsWith(gif)) {
alert(unsupported file type!);
return false;
}

File API:

javascript对用户上传的文件的操作权限非常有限, 尤其是无法读取文件的内容,HTML5的file api提供了File 和 FileReader两个主要对象

0

评论 (0)

取消