>웹 프론트엔드 >JS 튜토리얼 >JavaScript 고급 1 정규식, 쿠키 관리, UserData_기본 지식

JavaScript 고급 1 정규식, 쿠키 관리, UserData_기본 지식

WBOY
WBOY원래의
2016-05-16 17:55:251053검색

首先,什么事正则表达式呢,其实引入概念很多时候并不能帮我们明白它到底是什么,所以我先简单描述下,正则表达式,其实就是一个记录字符串规则则的字符串,等我们看完这一部分,也就能明白它到底是什么了。

基本语法:正则表达式就是“/expression/”+表示搜索范围的符号。例如我们要找function这个关键词,就是/function/gi,其中g表示global,就是全局搜索,i表示ignor,就是忽略大小写。

在js中,我们通过RegExp类来实现。

这个类里面有很多很多的符号用来表示不同的索引方法,我先把这个表列一列:

元字符 说明 量词 说明 反义字符 说明
  . 匹配除了换行符号(\n)以外的任意字符   * 出现次数:[0,+∞)   \W 字母,数字,下划线,汉字以外的字符
  ^ 匹配字符串的开始   + 出现次数:[1,+∞)   \S 空白字符以外的字符
  $ 匹配字符串的结束   ? 出现次数:[0,1]   \D 数字以外的字符
  \b 匹配单词边界   {n}   出现次数:n   \B 匹配非单词的边界
  \d 匹配数字   {n,} 出现次数:[n,+∞)   [^] 在字符类中,^号后面的字符串以外的任意字符
  \s 匹配任意的空白符   {n,m}   出现次数:[n,m]   [-] 匹配从-前字符到-后字符的字符串中的字符/数字
  \w 匹配字母,数字,下划线或汉字        

위 기호 외에도 세 가지 개념이 있습니다. 하나는 그룹화, 하나는 역참조, 마지막은 후보입니다.
그룹화: 문자열을 ()로 묶어 특정 규칙에 따라 문자열을 결합하는 것을 말합니다. 동시에 정규식을 사용하여 날짜 형식을 표현하는 등 대괄호를 중첩할 수도 있습니다. var dateReg=/^(d{1,4})(-)(d{1,2}(-)(d {1 ,2})$), 물론 이 방법에도 특정 허점이 있습니다. 여기서는 형식 문제를 표현합니다.
이 외에도 대괄호가 있습니다. 예를 들어 x y z d w 문자 중 하나만 일치시키려면 [xyzdw]를 쓰고 숫자 0-4와 같이 연속적으로 일치하면 [0]을 씁니다. -4], 그러나 이는 하나의 문자만 나타냅니다.
ac 또는 bd와 일치하는 등 둘 이상을 작성하려면 "|" 기호를 사용하고 (ac|bd)를 작성합니다.
예를 들어 abc만 포함된 문자열을 일치시키려면 다음과 같이 작성할 수 있습니다. abdReg=/^[abc] $/; 다음은 완전한 예입니다.
코드 복사 코드는 다음과 같습니다.

head>
일반 표현






역방향 참조: 그룹화를 기반으로 한 정규식을 적용한 것입니다. 우선, 그룹 번호를 알아야 합니다. 왼쪽 괄호로 표시된 왼쪽에서 오른쪽으로 그룹의 순서를 따르고 1부터 누적되기 시작합니다. 이를 사용하는 방법에는 $group 번호 또는 그룹 번호의 두 가지가 있습니다.
두 번째는 표현식에서 그룹을 참조하는 데 적합합니다. ""는 이스케이프 기호로 평소와 같은 의미를 가지며 예약된 문자를 일치시킬 때 사용됩니다.
예를 들어 abc로 시작하고 abc로 끝나며 중간에 제한이 없는 문자열을 일치시키려고 합니다. Reg=/^(abc)[a-z]*1$/; 지금 막 예를 들어 테스트했는데 오류가 없었습니다.
일반적으로 사용되는 여러 일치 정규식:
1. 일치 날짜: reg=/^d{4}-(((0[13578]|(10|12))-(0[1-9] | [1-2]d|3[01]))|(02-(0[1-9])|[1-2]d)|((0[469]|11)-(0[1-9 ]|[1-2]d|30)))$/g;
2. 일치 시간: reg=/^([0-1]d|[2][0-3](:([ 0 -5]d)){2}$/g;
3. 일치하는 이메일 주소: reg=/^([a-zA-Z]([0-9a-zA-Z]|(_))* @(([0-9a-zA-Z]|(_)) .) [a-zA-Z]{2,9})$/g
4. 한자 일치: reg=/^[ u4e00-u9fa5] $/g;
Javascript는 쿠키를 작동합니다
쿠키가 무엇인지는 누구나 알고 있을 것이라 생각하여 그냥 정의를 복사했습니다.
js를 사용한 쿠키 작동에 대한 설명은 다음과 같습니다. cookie=name "="value ";expires=" date.toGMTString()
다음으로 쿠키를 사용하여 로그인을 위한 사용자 이름과 비밀번호를 기록합니다

코드 복사 코드는 다음과 같습니다.


cookie test








= "center" >
; /테이블>
<본문>


탈출은 단순 암호화, 만료는 평생으로 일반적으로 1주일로 설정되며 1주일 후에 자동으로 삭제된다고 설명합니다.
물론 쿠키만 쓰고 읽지 않으면 헛수고가 되기 때문에 쿠키 파일의 내용을 읽는 법을 배워야 합니다.
그래서 스크립트에 두 가지 읽기 기능을 추가했습니다.
코드 복사 코드는 다음과 같습니다.



body 태그 onload 이벤트:

따라서 이 코드는 IE와 FF에서는 올바르게 실행되지만 Chrome에서는 쿠키를 검색할 수 없습니다. . 정말 모르겠어요~ 이유 아시는 분 조언 좀 부탁드립니다.
쿠키 ​​유효 기간을 수정하는 것은 쿠키 내용을 수정하는 것과 같습니다. 만료 필드 내용을 찾아 수정하면 됩니다. . 쿠키를 삭제하려면 유효기간을 어제로 설정하면 됩니다.
userData
쿠키와 달리 userData는 유효기간이 없으며 더 많은 데이터(640KB 쿠키: 4KB)를 저장할 수 있으므로 페이지 입력량이 클 경우 userData를 사용하여 데이터를 저장할 수 있습니다.
userData에 데이터 저장: 주로 두 부분으로 구성됩니다. 콘텐츠에 이름을 지정하고 userData에 저장합니다.
알아보기 전에 이 기능은 Microsoft에서 개발한 것이므로 IE에만 ​​적용 가능하다는 점을 참고하시기 바랍니다. 테스트 결과 FF와 Chrome에서는 이 기능이 호환되지 않는다고 명시했습니다.
저장된 책력에 대한 사진은 다음과 같습니다.

OK 다음으로 userData를 살펴보겠습니다.

먼저 스크립트 앞에 스타일을 추가한 다음 매개변수를 설정하여 userData에 저장합니다.

코드 복사 코드는 다음과 같습니다. 다음과 같습니다:


쿠키 테스트




<테이블 너비="400" align="center" border="1">








>
🎜>



코드 복사


코드는 다음과 같습니다.


function getContent(){ var formObj=document.form;
var contentObj=formObj.content;
contentObj.value=contentObj.getAttribute ("contentText");
} 코드 복사


코드는 다음과 같습니다.


<머리>
쿠키 테스트
<스타일>
.userData{behavior:url(#default#userData);}





<테이블 너비="400" align="center" border="1">













<본문>


好接下来说个兼容还算可以的:(下面这段道是抄的,因为转载多我也不知道源处了。)
localStorage: 对于其他方案,localStorage가 自身的优点:容weight大、易用、强大、原生支持;缺点是兼容性差些(chrome, safari, firefox,IE 9,IE8都支持 localStorage,主要是IE8以下版本不支持)、안전성也差些(所以请勿使用localStorage保存敏感信息)。

비常通俗易懂的接口:

localStorage.getItem(key):获取指定key本地存정말 대단해요
localStorage.setItem(key,value):将value存储到key字段
localStorage.removeItem(key):删除指定key本地存储的值

留譯localStorage存储的值都是字符串类型,재중处理复杂的数据时,比如json数据时,需要借助JSON类,将json字符串转换成真正可用 json格式,localStorage第二个实教程会重点演示相关功能.localStorage还提供了一个storage事件, 에서 存储的值改变后触发.
目前浏览器道带有很好的开发者调试功能,下面分别是Chrome and Firefox的调试工具查看

报废了好久,终于抖擞精신把进阶1写好了,以后不能再这么堕落了哎。。闭关修炼还是必须的~。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
사용자 이름:
password:
제목:
content: /td>
제목:
내용: