`
guyinglong
  • 浏览: 71629 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

一些JS的小技巧

阅读更多
1:字符串分割:
public int getCount(String str,String sign){//查找某一字符串中str,特定子串s的出现次数
      if(str==null) return 0;
      StringTokenizer s=new StringTokenizer(str,sign);
      return s.countTokens();
  }
 public String[] getArray(String str,String sign){//按特定子串s为标记,将子串截成数组。
    int count=getCount(str,sign);
    int j=0;
    String[] arr=new String[count];
    for(int i=0;i<count;i++){
       if(str.indexOf(sign)!=-1){
            j     =str.indexOf(sign);
            arr[i]=str.substring(0,j);
            str   =str.substring(j+1);
        }else{
            arr[i]=str;
        }
    }
    return arr;

}

2:数字转货币大写

function ChangeToBig(value)
{
var intFen,i;
var strArr,strCheck,strFen,strDW,strNum,strBig,strNow;

if(trim(value)=="")   //数据为空时返回"零"
  return "零";
if (isNaN(value))   //数据非法时提示,并返回空串
{
  strErr = "数据"+value+"非法!"
  alert(strErr);
  return "";
}
strCheck = value+".";
strArr = strCheck.split(".");
strCheck = strArr[0];
if(strCheck.length>12)   //数据大于等于一万亿时提示无法处理
{
  strErr = "数据"+value+"过大,无法处理!"
  alert(strErr);
  return "";
}
try
{
  i = 0;
  strBig = "";
  intFen = value*100;          //转换为以分为单位的数值
  strFen = intFen.toString();
  strArr = strFen.split(".");
  strFen = strArr[0];
  intFen = strFen.length;      //获取长度
  strArr = strFen.split(""); //将各个数值分解到数组内
  while(intFen!=0)   //分解并转换
  {
   i = i+1;
   switch(i)              //选择单位
   {
    case 1:strDW = "分";break;
    case 2:strDW = "角";break;
    case 3:strDW = "元";break;
    case 4:strDW = "拾";break;
    case 5:strDW = "佰";break;
    case 6:strDW = "仟";break;
    case 7:strDW = "万";break;
    case 8:strDW = "拾";break;
    case 9:strDW = "佰";break;
    case 10:strDW = "仟";break;
    case 11:strDW = "亿";break;
    case 12:strDW = "拾";break;
    case 13:strDW = "佰";break;
    case 14:strDW = "仟";break;
   }
   switch (strArr[intFen-1])              //选择数字
   {
    case "1":strNum = "壹";break;
    case "2":strNum = "贰";break;
    case "3":strNum = "叁";break;
    case "4":strNum = "肆";break;
    case "5":strNum = "伍";break;
    case "6":strNum = "陆";break;
    case "7":strNum = "柒";break;
    case "8":strNum = "捌";break;
    case "9":strNum = "玖";break;
    case "0":strNum = "零";break;
   }

   //处理特殊情况
   strNow = strBig.split("");
   //分为零时的情况
   if((i==1)&&(strArr[intFen-1]=="0"))
    strBig = "整";
   //角为零时的情况
   else if((i==2)&&(strArr[intFen-1]=="0"))
   {    //角分同时为零时的情况
    if(strBig!="整")
     strBig = "零"+strBig;
   }
   //元为零的情况
   else if((i==3)&&(strArr[intFen-1]=="0"))
    strBig = "元"+strBig;
   //拾-仟中一位为零且其前一位(元以上)不为零的情况时补零
   else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元"))
    strBig = "零"+strBig;
   //拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过
   else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
    {}
   //拾-仟中一位为零且其前一位是元且为零的情况时跨过
   else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元"))
    {}
   //当万为零时必须补上万字
   else if((i==7)&&(strArr[intFen-1]=="0"))
    strBig ="万"+strBig;
   //拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零
   else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万"))
    strBig = "零"+strBig;
   //拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过
   else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万"))
    {}
   //拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过
   else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
    {}
   //万位为零且存在仟位和十万以上时,在万仟间补零
   else if((i<11)&&(i>8)&&(strArr[intFen-1]!="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
    strBig = strNum+strDW+"万零"+strBig.substring(1,strBig.length);
   //单独处理亿位
   else if(i==11)
   {
    //亿位为零且万全为零存在仟位时,去掉万补为零
    if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
     strBig ="亿"+"零"+strBig.substring(1,strBig.length);
    //亿位为零且万全为零不存在仟位时,去掉万
    else if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]!="仟"))
     strBig ="亿"+strBig.substring(1,strBig.length);
    //亿位不为零且万全为零存在仟位时,去掉万补为零
    else if((strNow[0]=="万")&&(strNow[2]=="仟"))
     strBig = strNum+strDW+"零"+strBig.substring(1,strBig.length);
    //亿位不为零且万全为零不存在仟位时,去掉万
    else if((strNow[0]=="万")&&(strNow[2]!="仟"))
     strBig = strNum+strDW+strBig.substring(1,strBig.length);
    //其他正常情况
    else
      strBig = strNum+strDW+strBig;
   }
   //拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零
   else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="亿"))
    strBig = "零"+strBig;
   //拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过
   else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="亿"))
    {}
   //拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过
   else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
    {}
   //亿位为零且不存在仟万位和十亿以上时去掉上次写入的零
   else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]!="仟"))
    strBig = strNum+strDW+strBig.substring(1,strBig.length);
   //亿位为零且存在仟万位和十亿以上时,在亿仟万间补零
   else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]=="仟"))
    strBig = strNum+strDW+"亿零"+strBig.substring(2,strBig.length);
   else
    strBig = strNum+strDW+strBig;
   strFen = strFen.substring(0,intFen-1);
   intFen = strFen.length;
   strArr = strFen.split("");
  }
  return strBig;
}catch(err){
  return "";      //若失败则返回原值
}
}



3:时间显示控制  
第一种方式:
<html>
<head><title>取得系统时间</title></head>
<body>
<%java.util.Date date=new java.util.Date();%>
现在是:<%=date%>
</body>
</html>
运行结果:
现在是:Tue Jul 31 10:32:52 CST 2001

第二种方式:
<%@ page import="java.util.*, java.text.*" %>
<HTML>
<HEAD><TITLE>显示当前时间</TITLE></HEAD>
<BODY>
当前时间:
<%
Date now = new Date();
out.println(DateFormat.getTimeInstance().format(now));
%>
</BODY>
</HTML>
运行结果:
10:31:42 AM

第三种方式:
<%
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy年MM月dd日");
java.util.Date currentTime_1 = new java.util.Date();
out.print(formatter.format(currentTime_1));
%>
运行结果:
2001年07月31日

第四种方式:
<%
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy/MM/dd HH/mm/ss");
java.util.Date currentTime_1 = new java.util.Date();
out.print(formatter.format(currentTime_1));
%>
运行结果:
2001/07/31 10/32/52
第三四两种方式其实是一样的他可以产生千变万化的格式。

4:页面刷新:
有三种方法:
1,在html中设置:
<title>xxxxx</title>之後加入下面这一行即可!
定时刷新:<META HTTP-EQUIV="Refresh" content="10; URL=http://自己的URL">
10代表刷新间隔

2.jsp
<% response.setHeader("refresh","1"); %>
  没一秒刷新一次

3.使用javascript:
<script language="javascript">
setTimeout("self.location.reload();",1000);
<script>
一秒一次

5:打印:
1.直接调用windows函数
<input type="button" value="print"
onclick="window.focus();window.print()">

2.调用js
//放在head 与 head 之间
<SCRIPT LANGUAGE=javascript>
<!--
function setPrint()
{
WB.ExecWB(8,1);
}
function previewPrint()
{
WB.ExecWB(7,1)
}
//-->
</SCRIPT>

//放在body与body之间
<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0>
</OBJECT>
<INPUT type="button" value="打印设置" id=button1 name=button1 onclick="setPrint();">
<INPUT type="button" value="打印预览" id=button2 name=button2 onclick="previewPrint();">

关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示


6:回车转到下个控件的方法

ENTER键可以让光标移到下一个输入框

<input onkeydown="if(event.keyCode==13)event.keyCode=9">

7:取得控件的默认值
<input type=text value="123" onfocus="alert(this.defaultValue)">

8:表格行高亮显示

<tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'">





9:JavaScript常用語句
1.document.write(""); 输出语句
2.JS中的注释为//
3.传统的HTML文档顺序是:
    document->html->(head,body)
4.一个浏览器窗口中的DOM顺序是:
    window->(navigator,screen,history,location,document)
5.得到表单中元素的名称和值:
    document.getElementById("表单中元素的ID号").name(或value)
6.一个小写转大写的JS:
    document.getElementById("output").value=document.getElementById("input").value.toUpperCase();
7.JS中的值类型:
    String,Number,Boolean,Null,Object,Function
8.JS中的字符型转换成数值型:
    parseInt(),parseFloat()
9.JS中的数字转换成字符型:
    ("" 变量)
10.JS中的取字符串长度是:
    (length)
11.JS中的字符与字符相连接使用 号.
12.JS中的比较操作符有:
    ==等于,!=不等于,>,>=,<.<=
13.JS中声明变量使用:
    var来进行声明
14.JS中的判断语句结构:
    if(condition){}else{}
15.JS中的循环结构:
    for([initial expression];[condition];[upadte expression]) {inside loop}
16.循环中止的命令是:
    break
17.JS中的函数定义:
    function functionName([parameter],...){statement[s]}
18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.
19.窗口:
    打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self
20.状态栏的设置:
    window.status="字符";
21.弹出提示信息:
    window.alert("字符");
22.弹出确认框:
    window.confirm();
23.弹出输入提示框:
    window.prompt();
24.指定当前显示链接的位置:
    window.location.href="URL"
25.取出窗体中的所有表单的数量:
    document.forms.length
26.关闭文档的输出流:
    document.close();
27.字符串追加连接符: =
28.创建一个文档元素:
    document.createElement(),document.createTextNode()
29.得到元素的方法:
    document.getElementById()
30.设置表单中所有文本型的成员的值为空:
var form = window.document.forms[0]
for (var i = 0; i<form.elements.length;i ){
if (form.elements.type == "text"){
form.elements.value = "";
}
}
31.复选按钮在JS中判断是否选中:
    document.forms[0].checkThis.checked
        (checked属性代表为是否选中返回TRUE或FALSE)
32.单选按钮组(单选按钮的名称必须相同):
取单选按钮组的长度document.forms[0].groupName.length
33.单选按钮组判断是否被选中也是用checked.
34.下拉列表框的值:
    document.forms[0].selectName.options[n].value
        (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值)
35.字符串的定义:
    var myString = new String("This is lightsword");
36.字符串转成大写:
    string.toUpperCase(); 字符串转成小写:string.toLowerCase();
37.返回字符串2在字符串1中出现的位置:
    String1.indexOf("String2")!=-1则说明没找到.
38.取字符串中指定位置的一个字符:
    StringA.charAt(9);
39.取出字符串中指定起点和终点的子字符串:
    stringA.substring(2,6);
40.数学函数:
    Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的
最在值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,
Math.floor(Math.random()*(n 1))返回随机数
41.定义日期型变量:
    var today = new Date();
42.日期函数列表:
    dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,
    dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期几,
    dateObj.getHours()得到小时,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,
    dateObj.setTime(value)设置时间,dateObj.setYear(val)设置年,
    dateObj.setMonth(val)设置月,dateObj.setDate(val)设置日,
    dateObj.setDay(val)设置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,
    dateObj.setSeconds(val)设置秒 [注意:此日期时间从0开始计]
43.FRAME的表示方式:
    [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName
44.parent代表父亲对象,top代表最顶端对象
45.打开子窗口的父窗口为:opener
46.表示当前所属的位置:this
47.当在超链接中调用JS函数时用:(javascript来开头后面加函数名
48.在老的浏览器中不执行此JS:<!-- //-->
49.引用一个文件式的JS:<script type="text/javascript" src="aaa.js"></script>
50.指定在不支持脚本的浏览器显示的HTML:<noscript></noscript>
51.当超链和onCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.
    例:<a href="a.html" onclick="location.href='b.html';return false">dfsadf</a>
52.JS的内建对象有:
    Array,Boolean,Date,Error,EvalError,
Function,Math,Number,Object,RangeError,ReferenceError,
RegExp,String,SyntaxError,TypeError,URIError
53.JS中的换行:\n
54.窗口全屏大小:
    <script>function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;
this.outerHeight=screen.availHeight;}window.maximize=fullScreen;</script>
55.JS中的all代表其下层的全部元素
56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1
57.innerHTML的值是表单元素的值:
    如<p id="para">"how are <em>you</em>"</p>,则innerHTML的值就是:how are <em>you</em>
58.innerTEXT的值和上面的一样,只不过不会把<em>这种标记显示出来.
59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.
60.isDisabled判断是否为禁止状态.disabled设置禁止状态
61.length取得长度,返回整型数值
62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc
63.window.focus()使当前的窗口在所有窗口之前.
64.blur()指失去焦点.与FOCUS()相反.
65.select()指元素为选中状态.
66.防止用户对文本框中输入文本:
    onfocus="this.blur()"
67.取出该元素在页面中出现的数量:
    document.all.tags("div(或其它HTML标记符)").length
68.JS中分为两种窗体输出:模态和非模态.
    window.showModaldialog(),window.showModeless()
69.状态栏文字的设置:
    window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.';
70.添加到收藏夹:
    external.AddFavorite("http://meil.cnblogs.com";,"jaskdlf");
71.JS中遇到脚本错误时不做任何操作:
    window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;
72.JS中指定当前打开窗口的父窗口:
    window.opener,支持opener.opener...的多重继续.
73.JS中的self指的是当前的窗口
74.JS中状态栏显示内容:window.status="内容"
75.JS中的top指的是框架集中最顶层的框架
76.JS中关闭当前的窗口:window.close();
77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}
78.JS中的窗口重定向:window.navigate("http://meil.cnblogs.com";);
79.JS中的打印:window.print()
80.JS中的提示输入框:window.prompt("message","defaultReply");
81.JS中的窗口滚动条:window.scroll(x,y)
82.JS中的窗口滚动到位置:window.scrollby
83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout
84.JS中的模态显示在IE4 行,在NN中不行:showModalDialog("URL"[,arguments][,features]);
85.JS中的退出之前使用的句柄:
    function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}} window.=verifyClose;
86.当窗体第一次调用时使用的文件句柄:onload()
87.当窗体关闭时调用的文件句柄:onunload()
88.window.location的属性:
    protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),
    pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息)
89.window.location.reload()刷新当前页面.
90.window.history.back()返回上一页,window.history.forward()返回下一页,
window.history.go(返回第几页,也可以使用访问过的URL)
91.document.write()不换行的输出,document.writeln()换行输出
92.document.body.noWrap=true;防止链接文字折行.
93.变量名.charAt(第几位),取该变量的第几位的字符.
94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值.
95.字符串连接:string.concat(string2),或用 =进行连接
96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算)
97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.
98.string.match(regExpression),判断字符是否匹配.
99.string.replace(regExpression,replaceString)替换现有字符串.
100.string.split(分隔符)返回一个数组存储值.
101.string.substr(start[,length])取从第几位到指定长度的字符串.
102.string.toLowerCase()使字符串全部变为小写.
103.string.toUpperCase()使全部字符变为大写.
104.parseInt(string[,radix(代表进制)])强制转换成整型.
105.parseFloat(string[,radix])强制转换成浮点型.
106.isNaN(变量):测试是否为数值型.
107.定义常量的关键字:const,定义变量的关键字:var 
10 两个框架之间,在A框架中控制B框架的空间
脚本:
//隐藏查询按钮
        function setVisible()
        {
                       window.parent.frames("searchFrame").document.getElementById("Button1").disabled = false;
        }
后台代码:
RegisterStartupScript("", "<script language ='javascript'>setVisible();</script>");
11 动态改变框架
//动态改变框架脚本
function ChangeFrame(height)
{
    //alert(height);
    parent.frames['frame1'].rows=''+height+'  ,*';
    //parent.frames['frame1'].rows='200,*';
}
后台代码
int intHeight = 120;
RegisterStartupScript("", "<script language ='javascript'>ChangeFrame(" + intHeight+ " );</script>");
12  关于Hyperlink的CSS
A:link {TEXT-DECORATION: none;COLOR: #ca96df}
/*原显示颜色*/
A:visited {TEXT-DECORATION: none;COLOR: #7a96df}
/*点击后保留的颜色*/
A:active {TEXT-DECORATION: none;COLOR:Blue}
/*鼠标移动到上面*/
A:hover {COLOR :Blue}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/juventang/archive/2006/09/12/1213072.aspx
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics