表单验证

  1. 必填,长度为~字符
    区分中英文字符,javascript里为16位编码。英文字符只可能落在0x00 ~ 0Xff,
    其他则为中文字符。注意中文占两个字符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function checklength(name) {
    var len = document.getElementById('name').val();
    var sum = 0;
    var codeval;
    for (let i = 0;i < len.length;i++) {
    codeval = len.charCodeAt(i);
    if (codeval >= 0x00
    && codeval <= 0xFF) {
    sum = sum + 1;
    }
    else {
    sum = sum + 2;
    }
    }
    } `
  2. 验证密码,邮箱,手机号码等利用正则表达式

2-1 验证邮箱的正则 规律是名称@域名
域名部分可以表示为
[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)+

2-2 验证手机号码是否符合格式的正则

var mPattern = /^[1][3,4,5,7,8][0-9]{9}$/;

实现倒三角小图标的css方法

基本原理

1
2
3
4
5
6
7
8
.one {
width: 0;
height: 0;
border-top: 40px solid #000;
border-right: 40px solid #ff0000;
border-left: 40px solid #ff0000;
border-bottom: 40px solid #000;
}

这个的效果是由四个相等的三角形拼成的正方形

根据这个设置想要的图形,如倒三角即是没有下边框,左右透明

1
2
3
4
5
6
7
8
.caret {
display: inline-block;
width: 0;
height: 0;
border-top: 4px solid;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}

z-index

z-index特性——————设置元素的叠加顺序,但依赖于定位
仅仅在节点position为relative,absolute或fixed时生效
z-index值大的元素会覆盖在z-index值小的元素上

不含z-index的堆叠

  1. 不含定位属性的块元素出现在定位元素的下层
  2. 定位块元素按照他们在HTML结构中出现的顺序堆叠

层叠上下文
1.每一个网页都有一个默认的层叠上下文,这个层叠上下文的根源就是html元素
2.当你设置了定位元素和给一个元素赋予了除 auto外的z-index值时,你就创建了一个新的层叠上下文
3.一个层叠上下文的层叠次序
(1)背景和边框 形成层叠上下文的元素的背景和边框
(2)负z-index值 层叠上下文内有着负z-index值的子元素
(3)块级元素 文档流中非定位子元素
(4)浮动元素 非定位浮动元素
(5)行内 文档流中非定位子元素
(6)z-index:0 定位元素 这些元素形成新的层叠上下文
(7)正z-index值

css实现居中的小tips

1 水平居中


1-1 行内元素
设置text-align: center
1-2 定宽块状元素
设置左右margin值为auto

2 垂直居中


2-1 父元素高度确定的单行文本
设置line-height的值为height;

3 水平和垂直居中(常见div)


3-1 知道宽高的情况下采用绝对定位的方式,兼容基本浏览器
1
2
3
4
5
6
7
8
9
.one{
position: absolute;
width: 200px;
height: 200px;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -100px;
}

3-2 行内元素居中比如文字

1
2
3
4
5
6
.one{
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}

3-3 移动端常使用css3的transform:translate(x,y)属性

1
2
3
4
5
6
7
8
9
.one{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
}

3-4 使用calc 支持Firefox 4 及更高版本浏览器,对于更早版本的浏览器,需要添加前缀,不支持IE8。

1
2
3
4
5
6
7
.one{
width: 100px;
height: 100px;
position: absolute;
top: calc(50% - 50px);
left: calc(50% - 50px);
}