网站经常用到的一个东西用来暂存一些相关信息的Cookie有优点也有缺点,它能够不占用服务器资源,存储在客户端的电脑里,可这样也有一定的危险性,因为相关信息比如说登录某个网站的用户名和密码之类的信息,都会存在客户端的电脑里,这样会被某些“有心之人”利用,所以,有些人习惯在公共场合使用完电脑后清掉Cookie信息,当然前提是此电脑未“养马”,不过本文讨论文的问题不是Cookie的安全问题,而是一个简单的利用js来操作Cookie的例子,一起看看吧。。。
<mce:script type="text/javascript"><!--
function Set(Cookie_name)
{
var Then = new Date()
Then.setTime(Then.getTime() + 1*3600000 ) //小时
document.cookie = Cookie_name+"=true;expires="+ Then.toGMTString()
}
function Get(Cookie_name)
{
var cookieString = new String(document.cookie)
var cookieHeader = Cookie_name+"="
var beginPosition = cookieString.indexOf(cookieHeader)
if (beginPosition != -1) //cookie已经设置值,应该 不显示提示框
{
alert(Cookie_n ......
//校验是否全由数字组成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
}}
//校验密码:只能输入6-20个字母、数字、下划线
<pre name="code" class="java">function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
</pre>
<br>
<br>//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
<br><pre name="code" class="java">function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$ ......
JavaScript解析读取XML文件,主要就是加载并解析XML文件,然后就可以测试解析的XML文件的内容,打印输出来。
编写了一个JavaScript的类来实现读取一个XML文件中的数据,实现代码如下所示:
<mce:script type="text/javascript"><!--
/**
* @author Shirdrn
*/
function XMLDoc(){}; // 定义一个XMLDoc类
XMLDoc.prototype.xmlFile = ""; // xmlFile为XMLDoc的一个成员,是指“.xml”文件
XMLDoc.prototype.parseXMLDoc = function(){ // 加载解析XML文件的成员方法
var docParser;
if(window.ActiveXObject) { // IE浏览器支持
docParser = new ActiveXObject("Microsoft.XMLDOM");
docParser.async = "false";
docParser.load(this.xmlFile);
return docParser;
}
else if(window.DOMParser) { // Mozillia浏览器支持
docParser = new DOMParser()
return docParser.parsefromString(this.xmlFile,"text/xml");
}
else { // 如果不是IE和Mozillia浏览器则无法解析,返回false。
return false;
}
}
XMLDoc.prototype.print = function(readTagName,readTagCnt) { // 打印输出读取的XML文件的内容信息 ......
JavaScript解析读取XML文件,主要就是加载并解析XML文件,然后就可以测试解析的XML文件的内容,打印输出来。
编写了一个JavaScript的类来实现读取一个XML文件中的数据,实现代码如下所示:
<mce:script type="text/javascript"><!--
/**
* @author Shirdrn
*/
function XMLDoc(){}; // 定义一个XMLDoc类
XMLDoc.prototype.xmlFile = ""; // xmlFile为XMLDoc的一个成员,是指“.xml”文件
XMLDoc.prototype.parseXMLDoc = function(){ // 加载解析XML文件的成员方法
var docParser;
if(window.ActiveXObject) { // IE浏览器支持
docParser = new ActiveXObject("Microsoft.XMLDOM");
docParser.async = "false";
docParser.load(this.xmlFile);
return docParser;
}
else if(window.DOMParser) { // Mozillia浏览器支持
docParser = new DOMParser()
return docParser.parsefromString(this.xmlFile,"text/xml");
}
else { // 如果不是IE和Mozillia浏览器则无法解析,返回false。
return false;
}
}
XMLDoc.prototype.print = function(readTagName,readTagCnt) { // 打印输出读取的XML文件的内容信息 ......
模仿jQuey,创建几个包裹节点的方法,发现jQuery的方法很低效啊,下一次他又可以说这几个方法可以提升了多少多少了。原理基本是这样,如果传入的是字符串,那么让它们变成一个元素节点,不过这元素节点也可以有许多层,在最内层把要包裹的元素放进。把字符串变成元素节点的方法有如下几个。1,createElement,IE可以连元素属性也一起创建,但只能创建一层。2,innerHTML,不过需要对原来的字符串进行处理,IE与FF都有许多意想不到的默认行为,可以为你多加一点东西或少加一点东西。3,createContextualFragment,由于Opera的行为有点怪异,需要选中修改元素的位置。经日本人的测试,它转换字符串成节点的效率比innerHTML高多了,也安全多了,真是强者愈强,弱者愈弱。如果是传入元素节点,需要克隆一下,要不都变成wrapAll。如果是函数,把当前元素传进去,利用它的某些属性创建一个包裹元素。
最初的实验品(这里的wrapOuter相当于jQuery的wrap):
var parseHTML = function(str) {
if(document.createRange){
var range = document.createRange()
range.setStartAfter(document.body)
return range.createCon ......
JavaScript 可算是世界上最流行的编程语言,它曾被 Web 开发设计师贴上噩梦的标签,虽然真正的噩梦其实是 DOM
API,这个被大量的开发与设计师随手拈来增强他们的 Web 前端的脚本语言,如今越来越被重视,虽则如此,JavaScript
仍然拥有很多让人费解的东西。
1. 它以 Java 命名,但并不是 Java
它最初叫 Mocha, 接着改名为 LiveScript,最后才确定命名为 JavaScript,根据历史记录,Java 的命名与
Netscape 和 Sun 之间的合作有关,作为交换条件,Netscape 在他们备受欢迎的浏览器中创建了 Java
运行时。值得一提的是,这个名字的出台几近一个玩笑,要知道,LiveScript 和 Java 在客户端脚本方面存在敌对关系。
不管怎么说,人们后来不得不一再澄清的一件事就是,JavaScript 和 Java 毫无关系。
2. Null 是个对象?
看看这段代码,它返回的是 object。
这实在令人费解,假如 null 表示空值,它怎么可以是对象?简单说,它是 JavaScript 最初版本的错误,这个错误甚至被微软的 JScript 直接借用。
3. NaN !== NaN
NaN,表示一个非数字的值,然而问题是,NaN不等于任何东西,甚至不等于它自己。
这显然不对,事实上,如果要判断一个值确实是 NaN,你需要用 isNaN() ......
首先在body中加入以下HTML内容:
<div id="panel">
<div id="top">
<ul id="menu">
<li id="1">Home</li>
<li id="2">IntelligenceFacts</li>
<li id="3">Research</li>
<li id="4">Perception</li>
<li id="5">Robotics</li>
<li id="6">Cognitive Science</li>
</ul>
</div><!-- END #top -->
&nb ......