载入中,请稍候……

在JPG图片中追加、分离其它文件数据的脚本

Admin 于 2008-10-22 00:50:51 发表JavaScript

用法:
1、追加文件:jpgexe.js jpg1.jpg + exe1.exe jpgout.jpg
程序exe1已经到图片jpgout.jpg 中了。
2.、分离:jpgexe.js jpgout.jpg  exe2.exe
程序exe2已经分离出来了。
脚本:

被阅718次, 0票 发表评论

数字金额转大写[JavaScript]

Admin 于 2008-10-18 01:53:17 发表JavaScript

  1. <html> 
  2. <script language="javascript"> 
  1. //将阿拉伯数字翻译成中文的大写数字 
  2. function moneyToCapital(formName,sourceId,targetId)  
  3.  var source=document.forms[formName].all[sourceId]; 
  4.  var target=document.forms[formName].all[targetId]; 
  5.  var num=source.value; 
  6.   
  7.     if(!/^\d*(\.\d*)?$/.test(num)) throw(new Error(-1, "Number is wrong!")); 
  8.  
  9.     var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); 
  10.     var BB = new Array("","拾","佰","仟","?","?","圆",""); 
  11.     var CC = new Array("角""分""厘"); 
  12.     
  13.     var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = ""
  14.  
  15.     for(var i=a[0].length-1; i>=0; i--)  //author: meizz 
  16.     { 
  17.         switch(k) 
  18.         { 
  19.             case 0 : re = BB[7] + re; break
  20.             case 4 : if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}{Article.Explain}quot;).test(a[0])) 
  21.                      re = BB[4] + re; break
  22.             case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break
  23.         } 
  24.         if(k%4 == 2 && a[0].charAt(i)=="0" && a[0].charAt(i+2) != "0") re = AA[0] + re; 
  25.         if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++; 
  26.     } 
  27.  
  28.     if(a.length>1) //加上小数部分(如果有小数部分) 
  29.     { 
  30.         re += BB[6]; 
  31.         for(var i=0; i<a[1].length; i++) 
  32.         { 
  33.           re += AA[a[1].charAt(i)] + CC[i]; 
  34.           if(i==2) break
  35.         } 
  36.     } 
  37.    // return re; 
  38.  target.value= re ; 
  1. </script> 
  2. <form name="form1" action="" method="post"> 
  3. <input type="text" name="a" id="a" onblur="moneyToCapital('form1','a','b')" onkeyup="moneyToCapital('form1','a','b')"> 
  4. <input type="text" name="b" id="b" value=""> 
  5. </form> 
  6. </html>  

 

被阅953次, 0票 发表评论

JavaScript中String对象的substr方法与substring方法的区别

Admin 于 2008-09-23 07:16:16 发表JavaScript

String.substr(N1,N2) 这个就是我们常用的从指定的位置(N1)截取指定长度(N2)的字符串;
String.substring(N1,N2) 这个就有点特别了,它是先从N1,N2里找出一个较小的值,然后从字符串的开始位置算起,截取较小值位置和较大值位置之间的字符串,截取出来的字符串的长度为较大值与较小值之间的差。

String.substring(N1,N2) 这个就是我们常用的从指定的位置(N1)到指定的位置(N2)的字符串;

被阅1030次, 0票 发表评论

预览将上传的本地图片

Admin 于 2008-09-23 06:58:03 发表JavaScript

在项目中,有上传本地图片先预览的功能。原先在本机IE6,IE7浏览器中可正常预览的功能,但在将项目布暑到远程服务器的时候,在IE7中不能预览了。此问题,在之前同事的IE7访问我机子预览时也出现过,当时没在意,认为系统不会有问题。

今天,上网找了许久,终于知道了,这原来是IE7中加强了安全限制。通过http访问的页面默认是没有访问用户本机图片文件的权限的,所以通过 javascript获取不了本机的图片路径等相关信息。网上也有几种解决方案,一种是通过利用style 的"DXImageTransform.Microsoft.AlphaImageLoader" 滤镜来实现,而另一种,则是设置当前站点为安全站点即可。

由于,预览还涉及到图片旋转等,利用"DXImageTransform.Microsoft.AlphaImageLoader"方式,确不知道该如何旋转此滤镜中的图片,故暂时决定采用设置安全性方式,有劳用户了。

一些莫名其妙的错误都是有源头的。

收集的资料贴出来:

被阅538次, 0票 发表评论

taotao.js

Admin 于 2008-09-23 04:58:23 发表JavaScript

被阅538次, 0票 发表评论

JavaScript正则表达式笔记

Admin 于 2008-09-21 19:39:12 发表JavaScript

正则表达式是具有特殊语法的字符串,用来表示指定字符串在另一个字符串中出现的情况。
JavaScript对正则表达式的支持是通过ECMAScript中的RegExp类实现的。

1.RegExp对象
RegExp对象的方法有test()和exec()。属性有g,i,m,lastMatch等。

2.定义方式
var reCat=new RegExp("cat","gi"); //"g"是global,"i"是case-insensitive
也可以用Perl风格的语法:
var reCat=/cat/gi;

3.元字符
正则表达式用到的所有元字符:( [ { \ ^ $ | ) ? * +
元字符是正则表达式语法的一部分,任何时候要在正则表达式中使用它们,都必须对它们进行转义。如:
var reQMark=/\?/;
或者:var reQMark=new RegExp("\\?");  //注意:这里使用双重转义,以防解析器按\n方式翻译

4.字符类
(1) 简单类
var sToMatch="a bat, a Cat, a fAt baT, a faT cat";
var reBatCatRat=/[bcf]at/gi; //匹配b、c或f
alert(sToMatch.match(reBatCatRat)); //outputs "bat,Cat,fAt,faT,cat" //String对象的match()方法

(2) 负向类
var sToMatch="a bat, a Cat, a fAt baT, a faT cat";
var reBatCatRat=/[^bc]at/gi;
alert(sToMatch.match(reBatCatRat)); //outputs "fAt,faT"

(3) 范围类
var sToMatch="num1,num2,num3,num4,num5,num6,num7,num8";
var reOneToFour=/num[1-4]/gi;
alert(sToMatch.match(reOneToFour)); //outputs "num1,num2,num3, num4"

(4) 组合类
由几中其他类组合成的字符类,如:[a-m1-4\n]。

(5) 预定义类
主要有数字\d(也可表示成[0-9]),空白字符\s,单词\w和\D,\S,\W 如:
var sToMatch="564 891 abc";
var reThreeNums=/\d\d\d/;
alert(reThreeNums.test(sToMatch)); //outputs "true" //RegExp对象的test()方法

5.量词
(1) 简单量词
简单量词包括?,*,+,{n},{n,m},{n,}。举例:
如果想匹配bread,read,red,可以这样:
var reBreadReadRed=/b?rea?d/;
又如想匹配bead,baed,beed,baad,bad,bed,可以这样:
var reB=/b[ea]{1,2}d/;

(2)贪婪的、惰性的、支配性的量词
例如单独一个问号(?)是贪婪的,(??)是惰性的,(?+)是支配的。
贪婪量词先看整个字符串是否匹配。如果不匹配,则去掉该字符串中最后一个字符,并再次尝试。
惰性量词先看字符串中的第一个字母是否匹配,如果不匹配,就继续读入下一个字符。
支配量词只尝试匹配整个字符串。
区别三者,举例:
var sToMatch="abbbaabbbaaabbb1234";
var re1=/.*bbb/g;
var re2=/.*?bbb/g;
var re3=/.*+bbb/g;
如果想匹配"abbb","aabbb"和"aaabbb"只能是re2(第一个"abbb"匹配之后,继续向匹配)。

6.分组
如:var reDogDog=/(dog){2}/g;
等同于 var reDogDog=/(dog)\1/; // "dogdog"
(1) 捕获性分组(反向引用)
举例:调换字符串中两个单词的顺序:
var sToChange="1234 5678";
var reMatch=/(\d{4}) (\d{4})/;
var sNew=sToChange.replace(reMatch,"$2 $1");

alert(sNew); //outputs "5678 1234";

(2) 非捕获性分组
非捕获性分组不创建反向引用,也就避免了存储反向引用带来的速度降低的问题。应用举例:
var reTag=/<(?:.|\s)*>/g;

7.候选
如何匹配"red"和"black"呢?
var sToMatch1="red";
var sToMatch2="black";
var reRedOrBlack=/(red|black)/;
alert(reRedOrBlack.test(sToMatch1)); //outputs "true"
alert(reRedOrBlack.test(sToMatch2)); //outputs "true"

8.前瞻
用"?="表示,如:
var sToMatch1="bedroom";
var sToMatch2="bedding";
var reBed=/bed(?=room)/;
alert(reBed.test(sToMatch1)); //outputs "true"
alert(reBed.test(sToMatch2)); //outputs "false"

9.边界
表示边界的符号有^,$,\b,\B。

10.多行模式(IE不支持)
在正则表达式的后面加一个m.如返回每行结尾的单词:
var sToMatch="First second\nthird fourth\nfifth sixth"
var reLastWord=/(\w+)$/gm;
alert(sToMatch.match(reLastWord)); //outputs "second,fourth,sixth"

被阅712次, 0票正则表达式 发表评论

QQ号码申请页面主要脚本

Admin 于 2008-09-05 15:23:30 发表JavaScript

被阅331次, 1票 发表评论

日期范围计算

Admin 于 2008-08-19 07:25:50 发表JavaScript

计算某日所在星期日期范围、所在月份日期范围。

被阅565次, 0票 发表评论
1 / 1 / 8 | « 1 » |

Powered by MiniBoke v2.0.0.8 Build 0828

Copyright © 2008 迷你博客. All rights reserved.

粤ICP备07500939号