JsJava官方中文博客

最优秀的Javascript类库解决方案和界面应用开发支撑框架!

Archive for the '应用样例/案例' Category

九月 25 2007

Javascript对数组的操作

Published by admin under 应用样例/案例

【来源:JsJava官方中文博客】 

  Javascript自身提供了一些操作,可以对数组实现一定的处理,例如排序、连接、堆栈等等,下面做一下简单的介绍。

 1,concat(arrayName2, arrayName3, …, arrayNameN) ,将数组本身和另外一个或多个数组进行连接,例如:
    var arr1=[”a”,”c”];
    var arr2=[”b”,”d”];
    var arr22=[”e”,”f”];
    var arr3=arr1.concat(arr2,arr22);
   document.write(arr3);//结果显示为:a,c,b,d,e,f

  2,join(separator),通过间隔符将数字连接为字符串,例如:
    var arr1=[”a”,”b”,”c”,”d”,”e”];
    var arr1Str=arr1.join(”-”);
    document.write(arr1Str);//结果显示为:a-b-c-d-e

 3,pop()/push(element1, …, elementN) ,实现了堆栈的操作,push是入栈,pop是出栈,例如:
    var arr1=[”a”,”b”];
    arr1.push(”c”,”d”);
    document.write(arr1);//结果为:a,b,c,d
    var value=arr1.pop();
    document.write(value);//结果为:d

  4,reverse() ,将数组反向排序,例如:
   var arr1=[”a”,”b”,”c”];
    arr1.reverse();
    document.write(arr1);//结果为:c,b,a

  5,sort(compareFunction),按照指定的排序规则进行排序,如果参数为空,则按照默认的字母和数字进行排序,例如:
    function mySort(o1,o2){
        if(o1.length>o2){
            return 1;
        }
        return -1;
    }
    var arr1=[”a”,”c”,”bd”];
    arr1.sort();
    document.write(arr1);//结果为:a,bd,c
    arr1.sort(mySort);
    document.write(arr1);//结果为:bd,c,a

  6,shift() /unshift,将数组的第一个值取出(或者将值插入到数组第一个位置),并且数组长度缩短(加长),例如:
    var arr1=[”a”,”b”,”c”];
    var value=arr1.shift();
    document.write(value);//输出为:a
    document.write(arr1);//输出为:b,c
    var value2=arr1.unshift(”g”);
    document.write(value);//IE输出为undefined,Firefox输出为3
    document.write(arr1);//输出为:g,b,c

  7,slice(begin[,end]) ,类似字符串的substring方法,就是截取数组,例如:
    var arr1=[”a”,”b”,”c”];
    var arr2=arr1.slice(0,2);
    document.write(arr2);//输出为:a,b

  8,splice(index, howMany, [element1][, …, elementN]) ,从指定的位置(index)开始,删除后面多个(howMany)数组的值,并从删除处开始依次插入新的值,例如:
    var arr1=[”a”,”b”,”c”];
    arr1.splice(1,1,”m”,”n”,”o”);
    document.write(arr1);//输出为:a,m,n,o,c

  应该说,Javascript本身对数组提供的操作能力,还是不错的,但是在实际应用中,我们需要对数组做更多的操作,例如Java、PHP、.NET中对数组都提供了强大的操作能力,而且许多优秀的开源项目中,也提供了对数组的许多操作,但是Javascript这方面还需要进一步加强。

  为了对数组提供更多的操作,JsJava定义了许多类,来加强对数组的操作,介绍如下:

  1,jsjava.util.Arrays类,仿照Java的Arrays类,对数组提供了一些高效的操作,例如:
  var list=Arrays.asList([”a”,”b”,”c”]);//通过数组创建一个不可变的列表
  而且通过binarySearch,提供了二分法搜索的一个实现,其它的请参考JsJavaDoc

  2,jsorg.apache.commons.lang.ArrayUtils类,该类的实现是参考Apache优秀的commons-lang开源项目实现的,实现其中的所有功能,例如对数组进行插入、删除、搜索、填充、截取等等,例如:
    var arr=ArrayUtils.clone([0,1,2,9,0]);
    document.write(arr+”<br>”);
    document.write(ArrayUtils.subarray(arr,0,3)+”<br>”);
    arr.reverse();
    document.write(arr);
    显示结果为:
    0,1,2,9,0
    0,1,2
    0,9,2,1,0

  3,jsorg.eob.lang.MultiDimensionArrayUtils类,该类实现了对多维数组的创建支持,例如可以方便创建二维和三维数组,具体可以参考文章《在Javascript之中如何创建多维数组

  4,org.apache.commons.math.linear.RealMatrixImpl类,实现对矩阵的操作,矩阵实际上就是多维数组,即实现了对多维数组的支持,例如可以实现多维数组的加、减、乘、除等操作,还有数学运算中对矩阵的其它操作,具体可以参考JsJavaDoc

  JsJava是对Javascript语言最好的扩展和延伸,它与目前流行的prototype.js的方向是不一样的,如果你正在构建web应用,那么JsJava将是你界面应用最好的支撑。

3 responses so far

九月 24 2007

Javascript对日期的操作

Published by admin under 应用样例/案例

【来源:JsJava的官方中文博客网站】 

  对日期的操作,历来都是非常重要的,在Java、.NET和PHP等语言中,有许多标准的类和方法,例如在Java之中,就有Date、Calendar和GregorianCalendar等类,可以实现对日期和日历的许多操作,那么Javascript对日期的支持又如何呢?

  在Javascript之中,提供了标准的Date类,通过Date可以实现对日期的一些常规操作,例如,可以获得年、月、日、时、分、秒、毫秒等值,例如:

  var date=new Date();
  var year=date.getYear();
  var month=date.getMonth()+1;

  另外,通过Date也可以获取具有一定格式化的日期描述信息,例如通过toLoaleString、toLocaleDateString、toLocaleTimeString可以获得本地化的日期描述信息,例如:

  var date=new Date();
  var desc=date.toLocaleString();//返回值:2007年9月24日 0:11:14

  当然了,前面我们写过文章,专门讲述了JsJava中对日期格式化的支持。

  但是仅靠Javascript提供的一个Date对象,面对实际的web应用场景,多少还是有些应付不过来的,例如如何知道某个日期是这一个月的的几周,是本年的第几天等等,还有如何与中国的农历进行转换等等。

  为了解决Javascript中日期处理的这些问题,JsJava提供了几个专门的类,分别介绍如下:

  1,提供了jsjava.text.SimpleDateFormat类,通过该类,可以实现对日期对象的格式化,可以将一个日期对象,格式化为指定格式的字符串结果,这个在《如何使用Javascript格式化日期显示》一文中做过讲述。

  2,提供了jsjava.util.Calendar类和GregorianCalendar类,这与Java语言的Calendar和GregorianCalendar类一样强大,可以很容易的获得,今天是这一年的第几个月、第几周等信息,例如:

  var c = new GregorianCalendar();
  c.setTime(new Date(2007,2,8));
  document.write(c.getField(Calendar.DAY_OF_WEEK_IN_MONTH));//值为2
  document.write(c.getField(Calendar.WEEK_OF_YEAR));//值为10,即是这一年的第10周

  具体API可以查看JsJavaDoc

  3,提供了jsorg.eob.calendar.country.cn.ChinaLunarCalendar类,改类提供了对农历的操作,可以方便的公历日期转换为农历日期,可以获取农历中常用的天干、地支、生肖等等,例如:

  var c=new ChinaLunarCalendar();
  c.setTime(new Date(2005,5,6));
  document.write(“生肖:”+c.getDescOfShengXiao());//鸡
  document.write(“时辰:”+c.getDescOfHours());//子时

  具体API可以查看JsJavaDoc

  JsJava对日期的处理能力是非常强大的,熟练使用JsJava,给web应用开发带来的效率是显而易见的,欢迎大家学习使用。

5 responses so far

九月 22 2007

Javascript对字符串操作的支持

Published by admin under 应用样例/案例

【来源:JsJava官方中文博客网站

字符串操作历来是各种编程语言的基础功能之一,毕竟我们面对的各种各样的数据、对象等等,实际上都可以称之为信息,而信息更多的是以字符串的方式存储的,因此对字符串的操作就显得尤为重要了,我们都知道Perl有强大的字符串处理能力,Java、php、python等也都提供了字符串较为强大的支持,那么对于Javascript,它对字符串的处理能力又如何呢?

Javascript中对于字符串有标准的String对象来支持,String对象提供了一些对字符串的常规操作,例如charAt、substring、indexOf、fromCharCode等等,对于一般的处理来说,这些基本上也够用了,但是我们的web应用往往许多时候都是比较复杂,仅靠这些基本的字符串操作,感觉还是力不从心,不得不在这些基本操作的基础之上,编写大量的上层代码,以适应特地的解析要求。

既然如此,那么有没有更好的方式或方案来处理字符串呢?答案是有的,那就是选择JsJava。

JsJava可以说是最为优秀的Javascript类库解决方案,也是web应用开发界面端应用框架的首选,JsJava对于字符串的处理提供了非常强大的支持,下面就做一下简单的介绍。

1,提供了位于jsjava.lang包下的StringBuffer类,该类的功能就是对字符串进行各种增删改查的操作,提供的具体方法有:

void append(pvalue)
append a string after the current string
Object charAt(index)
return the char at specified index
void deleteBetween(index1,index2)
delete content from index1 to index2
void deleteCharAt(index)
delete a char at specified index
Object getChars()
return the chars array from the current string
Object getLength()
return the length of the current string
Object getValue()
return the current string
Object indexOf(str)
return the index of str in the current string
void insert(index,str)
insert a string in specified index
Object lastIndexOf(str)
return the last index of str in the current string
void reverse()
reverse the current string char sequence
Object substring(index)
return the substring from index
Object substringBetween(index1,index2)
return the substring from index1 to index2
Object toString()
return a string description

2,提供了位于jsjava.text包下的StringCharacterIterator类,该类的功能就是对字符串进行功能丰富的迭代器操作,提供的具体方法有:

Object current()
return the current char
Object first()
return the first char
Object getBeginIndex()
return the begin index from where the iterator start
Object getEndIndex()
return the end index where the iterator stop
Object getIndex()
return the current index
Object hasMore()
judge whether the iterator has more elements
Object last()
return the last char
Object next()
return the next char
Object previous()
return the previous char
void setIndex(index)
set the current index
void setText(text)
set the string

3,提供了位于jsorg.apache.commons.lang包下的StringUtils类,该类的功能就是对字符串进行功能丰富的操作,该类是非常强大的,例如可以将比较长的字符串缩短成指定长度的字符串,后面自动加上省略号,并提供的具体方法有:

<static> Object abbreviate(str,offset,maxWidth)
Abbreviates a String using ellipses.
<static> Object capitalize(str)
Capitalizes a String changing the first letter to title case.
<static> Object charLength(str)
Get the char length of the string.
<static> void isAlpha(str)
Checks if the String contains only unicode letters.
<static> void isAlphanumeric(str)
Checks if the String contains only unicode letters or digits.
<static> Object isAlphanumericSpace(str)
Checks if the String contains only unicode letters, digits or space (’ ‘).
<static> Object isAlphaSpace(str)
Checks if the String contains only unicode letters and space (’ ‘).
<static> Object isAsciiPrintable(str)
Checks if the string contains only ASCII printable characters.
<static> Object isBlank(str)
Checks if a String is whitespace, empty (”") or null.
<static> Object isEmpty(str)
Checks if a String is empty (”") or null.
<static> void isNotBlank(str)
Checks if a String is not empty (”"), not null and not whitespace only.
<static> void isNotEmpty(str)
Checks if a String is not empty (”") and not null.
<static> void isNumeric(str)
Checks if the String contains only unicode digits.
<static> void isNumericSpace(str)
Checks if the String contains only unicode digits or space (’ ‘).
<static> void isWhitespace(str)
Checks if the String contains only whitespace.
<static> Object joinArray(arr,separator)
Joins the elements of the provided array into a single String containing the provided list of elements.
<static> Object joinIterator(iterator,separator)
Joins the elements of the provided iterator into a single String containing the provided list of elements.
<static> Object joinList(list,separator)
Joins the elements of the provided list into a single String containing the provided list of elements.
<static> Object trim(str)
Removes control characters (char <= 32) from both ends of this String, handling null by returning null.

JsJava中对字符串操作的定义,汲取了Java、PHP语言本身以及重要开源项目中的实现,因此对应该开发提供了很好的支持,后续版本中,JsJava将进一步从web开发人员的实际运用出发,将开发过程中经常遇到的字符串解析问题进行整理,并进行标准的实现,也希望web开发的朋友们,提供使用场景和问题,下面是JsJava相关的一些资源:

JsJava官方网站:http://www.jsjava.com
JsJava官方中文网站:http://cn.jsjava.com
JsJava官方中文博客:http://cnblog.jsjava.com
JsJava团队Email:jsjava@gmail.com
JsJava开源工程的管理员Email:freeeob@gmail.com

2 responses so far

九月 18 2007

Javascript中如何操作剪贴板

Published by admin under 应用样例/案例

【来源:JsJava的官方中文博客网站

  也许你认为只有像Java、C++这样的语言,才能够操作系统的剪贴板,其实Javascript也可以对系统剪贴板进行操作,想想现在网上有那么多的在线编辑器,大都可以支持拷贝网页,就可以想到通过客户端技术也可以实现对剪贴板的操作。

  为了能够更加规范的通过Javascript支持系统剪贴板的操作,JsJava从2.0版本开始,创建了专门的Javascript对象,来实现对剪贴板的操作,主要是一个工具类,即jsorg.eob.document.ClipboardUtils,该类提供了两个静态方法,即将文本拷贝到剪贴板和从剪贴板获取数据。

  JsJava对剪贴板操作的实现,是经过IE和Firefox测试的,因此具有很好的通用性。下面就举一个具体的例子。

    <script>
    function getData(){
        var data=ClipboardUtils.getTextFromClipboard();
        t.value=data;
    }
    function setData(){
        var text=”这是需要拷贝的一段文本,这些文本将会被拷贝到系统的剪贴板之中。”;
        ClipboardUtils.copyTextToClipboard(text);
    }
    </script>
    <textarea id=”t” cols=”65″ rows=”15″></textarea><br>
    <input type=”button” value=”拷贝内容到剪贴板” onclick=”setData()”/>
    <input type=”button” value=”从剪贴板获取内容” onclick=”getData()”/>

  由上面可以看出,使用ClipboardUtils对系统剪贴板进行操作,是非常方便的,我们在网上看到的其它方法,要么不能兼容各种浏览器,要么就是有其它问题,JsJava对此进行了封装,形成了专门的类,为我们操作剪贴板带来了很大的方便。

  JsJava发展到2.0版本,已经完全可以作为一个JS基础框架和应用框架,支持界面端JS产品的开发,也适合于web项目和产品的日常开发与应用,JsJava的关注点,是数据结构的完整和类库体系的完整,这与目前流程的portotype.js等是不太一样,因此JsJava是更适合为应用服务的,欢迎大家下载使用。

  JsJava官方网站:http://www.jsjava.com
  JsJava官方中文网站:http://cn.jsjava.com
  JsJava官方中文博客:http://cnblog.jsjava.com
  JsJava团队Email:jsjava@gmail.com
  JsJava开源工程的管理员Email:freeeob@gmail.com

9 responses so far

九月 18 2007

如何使用Javascript格式化数字显示

Published by admin under 应用样例/案例

【来源:JsJava官方中文博客

  对数字进行格式化输出,是非常有意义的一件事情,例如许多时候,我们希望一个数字能够输出为指定格式的字符串,拿25.9878来说,我们可能会希望它能保留两位小数来说出,即结果为25.99,或者对于0.345678,希望能够按百分号输出,并保留小数点后两位,即结果为34.57%,又例如我们希望将数字56456456按照科学计数法来显示,并保留小数点后两位,即结果为5.65e+7,类似例子当然还有很多。

  那么在Javascript标准之中,是否提供了对这些格式化输出的支持呢,可以说Javascript也提供了部分支持,但是提供的并部完善,具体你可以看一下Number对象的使用,里面提供了对数字的一些格式化输出,几个函数如下:

  toExponential([fractionDigits])  :将数字按科学计数法格式返回,其中的fractionDigits值小数点后保留的位数。
  toFixed([fractionDigits])  :将数字按指定的小数点位数返回,其中的fractionDigits值小数点后保留的位数。
  toPrecision([precision])  :将数字按指定的精度返回(这个精度不是指小数点后几位),其中precision是指定的精度值。

  如果你不会使用上面的函数,我简单给你举个例子:

  var num=56.45678;
  var rs1=num.toExponential(2);//rs1的值为5.65e+1
  var rs2=num.toFixed(2);//rs的值为56.45
  var rs3=num.toPrecision(2);//rs的值为56

  虽然说Number对象提供的这些方法能够解决不少的数字转化问题,但是对于许多情况还是不好满足的,例如对百分号的支持等等。

  为了解决这个问题,并提供更为强大和灵活的数字格式化要求,JsJava专门提供了的Javascript自定义类来进行支持,你可以下载jsjava-1.0.js,引用其中的src/jsjava/text/NumberFormat.js或者直接引用jslib/jsjava-1.0.js,举例如下:
//2.0版本中使用jsjava-2.0.js
    var nf=new NumberFormat();//2.0版本中使用DecimalFormat
    nf.applyPattern(”000.000%”);
    var res=nf.format(-0.893566);
    document.write(res+”<br>”);
    nf.applyPattern(”0000.00″);
    var res=nf.format(-53.385967);
    document.write(res+”<br>”);
    nf.applyPattern(”0000.000E00″);
    var res=nf.format(53.385967);
    document.write(res+”<br>”);

  显示结果为:

  -89.357%
  -53.39
  5338.597e-2

  JsJava是非常强大的,它是目前世界上最为全面的Javascript类库体系,使用JsJava,将更使你的界面脚本逻辑开发变得更加简单。

No responses yet

九月 18 2007

在Javascript之中如何使用哈西表

Published by admin under 应用样例/案例

【来源:JsJava官方中文博客

  哈西表是一种非常常用的数据结构,在实际使用中有着非常广泛的用途,因此无论是Java还是其它编程语言,一般都提供了对哈西表的直接支持,而随着客户端应用的日益增加,以及客户端逻辑的日益复杂,像哈西表(Hashtable)这样的数据结构,在Javascript之中也有广泛的需求,那么Javascript直接支持哈西表吗?

  实际上Javascript并不直接支持哈西表,不过Javascript的Array太强大了,它本身可以实现哈西表的功能,如下面的代码所示:

    var arr=new Array(5);
    arr[”a”]=”china”;
    arr[”b”]=”cctv”;
    var date=new Date();
    arr[date]=”heng”;
    document.write(arr[date]);//输出为字符串heng

  Javascript的Array对象虽然灵活,但并没有体现面向对象的思想,这就好比Java中的万能类,这样是不太好的,我们应该按照功能及其使用方式,将万能类分开,同样对于Javascript之中的Array,如果我们想使用哈西表的功能,则建议将其封装为一个哈西表对象(Hashtable),另外Array提供的标准功能不是特别多,而作为哈西表,则要求有更为多和特别的操作。

  为了解决这个问题,JsJava中提供了专门的哈西表类(Hashtable),你可以下载jsjava-1.0.zip,引入其中的src/jsjava/util/Hashtable,也可以直接引入jslib/jsjava-1.0.js或者jslib/jsjava-collections-1.0.js,其样例代码如下:

    var h=new Hashtable();
    h.put(”a”,”b”);
    h.put(”c”,”d”);
    document.write(h.get(”c”)+”<br>”);//输出为d
    document.write(h.get(”none”)+”<br>”);//输出为undefined
    document.write(h.containsKey(”a”));//输出为true

  JsJava是非常强大的,也是目前世界上最为全面的Javascript类库体系,欢迎您下载并使用,以解决更多的web问题。

No responses yet

九月 18 2007

在Javascript之中如何创建多维数组

Published by admin under 应用样例/案例

【来源:JsJava官方中文博客

  Javascript是支持多维数组的,但是并没有构造函数可以直接生成多维数组,我们知道创建一维数组的方式,如下:

  var arr=new Array(5);
  arr[0]=”a”;
  arr[1]=”b”;
  arr[2]=”c”;
  arr[3]=”d”;
  arr[4]=”e”;  
  或者:
  var arr=[”a”,”b”,”c”,”d”,”e”];

  如果创建二维数组或者三维数组,在Javascript中可以通过下面的方式实现:

  //下面是创建2X5数组的方式
  var arr=new Array(2);
  for(var i=0;i<arr.length;i++){
    arr[i]=new Array(5);
  }
  arr[0][0]=”a”;
  arr[0][1]=”b”;
  …
  或者:
  var arr=[[”a”,”b”,”c”,”d”,”e”],[”a1″,”b1″,”c1″,”d1″,”e1″]];

  为了方便在Javascript之中创建多维数组,JsJava中提供了专门的类来处理该问题,请下载JsJava1.0,引入其中的jsorg/eob/lang/MultiDimensionArrayUtils.js,或者直接使用jslib/jsjava-1.0.js,代码如下:

    var arr=MultiDimensionArrayUtils.createTwoDimensionArray(2,3);
    arr[0][0]=5;
    var arr2=MultiDimensionArrayUtils.createThreeDimensionArray(2,2,2);
    arr2[0][0][0]=1;
    arr2[0][0][1]=2;
    arr2[0][1][0]=3;
    arr2[0][1][1]=4;
    arr2[1][0][0]=5;
    arr2[1][0][1]=6;
    arr2[1][1][0]=7;
    arr2[1][1][1]=8;

    目前JsJava1.0只提供创建二维和三维数字的方式,但是这一般情况下已经够用了,n维数组主要是用于数学的逻辑或者论证之中,JsJava会在后续版本中再考虑是否增加对n维数组的支持。

   JsJava是一个优秀的Javascript类库体系,提供了大量的基础数据类库和应用类库,是Web项目开发过程中一个重要的支撑,您可以访问http://www.jsjava.com下载最新版本。

One response so far

九月 18 2007

如何使用Javascript格式化日期显示

Published by admin under 应用样例/案例

【来源:JsJava官方中文博客

  我们都知道在Java和PHP语言中,有专门用于格式化日期对象的类和函数,例如Java中的DateFormat等等,通过这些类和函数,我们可以方便的将一个日期对象按照格式的要求输出为字符串,例如对于同一个日期2006年12月25日,需要的显示格式可能如下:

  2006年12月25日,2006-12-25,12-25-2006等等。

  在Javascript之中,日期对象是Date,那么如何将一个日期对象按照定制的格式进行输出呢?

  可以现告诉你,Date对象有有四个内置方法,用于输出为字符串格式,分别为:

  1)toGMTString,将一个日期按照GMT格式显示
  2)toLocaleString,将一个日期按照本地操作系统格式显示
  3)toLocaleDateString,按照本地格式显示一个日期对象的日期部分
  4)toLocaleTimeString,按照本地格式显示一个日期对象的时间部分

  尽管Javascript的Date对象中内置提供了这些输出为字符串的方法,但是这些字符串不是我们来控制格式的,因此如果我们需要我们自己定制的特殊格式,那么又该怎么办呢?

  不用着急,JsJava中提供了专用的类,专门对日期进行指定格式的字符串输出,你可以下载JsJava-1.0.zip,引入其中的src/jsjava/text/DateFormat.js,或者直接引入jslib/jsjava-1.0.js,样例代码如下:

    var df=new SimpleDateFormat();
    df.applyPattern(”yyyy-MM-dd hh:mm:ss”);
    var date=new Date(2007,3,30,10,59,51);
    var str=df.format(date);
    document.write(str);//显示结果为:2007-04-30 10:59:51

  通过上面的例子你可以看出,你需要做的就是指定pattern,那么pattern中yyyy、MM等都表示什么意思呢?如果你学习过Java的日期格式化,那么你应该知道,那都是占位符,这些占位符都具有特殊的含义,例如y表示年,yyyy表示四个数字的年份,例如1982,下面列举一些pattern中支持的特殊字符及其含义(下面表格引自Java的官方文档,做了适当修改):

 

Letter Date or Time Component Presentation Examples
G Era designator Text AD
M Month in year Month July; Jul; 07
W Week in month Number 2
d Day in month Number 10
E Day in week Text Tuesday; Tue
H Hour in day (0-23) Number 0
K Hour in am/pm (0-11) Number 0
m Minute in hour Number 30
S Millisecond Number 978

  JsJava是非常强大的,可以说是Web项目中不可或缺的一个Javascript类库,它可以帮助你快速的解决客户端编程的许多问题,你可以去http://www.jsjava.com下载源码和用户手册。

2 responses so far

九月 18 2007

如何使用Javascript生成随机字符串

Published by admin under 应用样例/案例

【来源:JsJava官方中文博客

  我们知道在PHP和Java这种级别的语言中,都有相关的类和函数支持直接生成随机字符串,但是在Javascript中并没有相应的函数来支持,Math.random是用来生成一个随机数字的,下面我们就介绍一下JsJava中对随机字符串的支持。

  JsJava中对于随机数字串、随机字符串、随机数字字符串的生成,有专门的Javascript自定义对象的支持,你可以从http://www.jsjava.com下载JsJava1.0的源码包,在其中的src/jsorg/apache/commons/lang/RandomStringUtils.js,当然你也可以直接使用jslib/jsjava-1.0.js,下面举一个例子:

   var r=RandomStringUtils.randomAlphabetic(56);
   document.write(r+”<br>”);
   r=RandomStringUtils.randomAlphanumeric(56);
   document.write(r);

   显示结果为:

   srtbmgfhnizoigzegyopvdwwvslrcajkxeijqyvfhnisllintrcatpuj
   2ky0xnb9kpwb281ai74o113937g5999o9hdlk6drm96118bcrwi53b72

   你可以参看其jsjavadoc以获取更多的说明

No responses yet