JS学习笔记ZT

每一项都是js中的小技巧,但十分的实用! 
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://www.dannyg.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://www.sina.com.cn " );
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.onbeforeunload = 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

有用的js程序代码:
// 去左空格;
function  ltrim(s){
return  s.replace(  / ^\s* / "" );
}

// 去右空格;
function  rtrim(s){
return  s.replace(  / \s*$ / "" );
}

// 左右空格;
function  trim(s){
return  rtrim(ltrim(s));
}

// 检查非法字符
//
str 要检查的字符
//
badwords 非法字符 &|<>=
function  checkbadwords(str, badwords) {
if  ( typeof  (str)  !=   " string "   ||   typeof  (badwords)  !=   " string " ) {
return  ( false );
}
for  (i = 0 ; i < badwords.length; i ++ ) {
bad 
=  badwords.charAt(i);
for  (j = 0 ; j < str.length; j ++ ) {
if  (bad  ==  str.charAt(j)) {
return   false ;
break ;
}
}
}
return   true ;
}

// 检查合法字符,限制只能输入的字符
//
str 要检查的字符
//
goodwords 合法字符 1234567890abcdefghijklmnopqrstuvwxyz
function  checkgoodwords(str, goodwords) {
if  ( typeof  (str)  !=   " string "   ||   typeof  (goodwords)  !=   " string " ) {
return  ( false );
}
for  (i = 0 ; i < str.length; i ++ ) {
this_str 
=  str.charAt(i);
for  (j = 0 ; j < goodwords.length; j ++ ) {
if  (this_str  ==  goodwords.charAt(j)) {
break ;
}
if (j == goodwords.length - 1 ){
return   false ;
}
}
}
return   true ;
}

// 函 数 名:chkinteger
//
功能介绍:检查是否为数字
//
参数说明:要检查的字符串
//
返 回 值:false:不是 true:是
function  chkinteger(checkStr) {
var  checkOK  =   " 0123456789+- " ;
var  allValid  =   true ;
for  (i = 0 ; i < checkStr.length; i ++ ) {
ch 
=  checkStr.charAt(i);
if  (checkOK.indexOf(ch)  ==   - 1 ) {
allValid 
=   false ;
break ;
}
if  ((ch  ==   ' + '   ||  ch  ==   ' - ' &&  i > 0 ) {
allValid 
=   false ;
break ;
}
}
return  (allValid);
}

// 函 数 名:chklength
//
功能介绍:检查字符串的长度
//
参数说明:要检查的字符串
//
返 回 值:字节长度值
function  chklength(checkStr) {
var  n  =   0 ;
for  (i = 0 ; i < checkStr.length; i ++ ) {
chcode 
=  checkStr.charCodeAt(i);
if  (chcode >= 0   &&  chcode <= 255 ) {
n
++ ;
else  {
+=   2 ;
}
}
return  (n);




/**/ /**
*/

/**/
/***********************************************************************
 * 判断一个字符串是否是数值格式
 
*/

function  isNumber(numStr) {
  
return   ! isNaN(numStr);


/**/ /***********************************************************************
 * 判断一个字符串中是否含有下列非法字符
 
*/

voidChar
=   " '">< " ;

function  isValidString(szStr) {
for
(i = 0 ; i < voidChar.length; i ++){
    aChar
= voidChar.substring(i, i + 1);
    
if(szStr.indexOf(aChar) > -1){
      
return false;

  }

  
return true;


/**//***********************************************************************
 * 判断一个字符串是否为空字符串
 
*/

function isBlank(szStr){
  
if(szStr.length < 1){
    
return true;
  }


  
for(i = 0; i < szStr.length; i ++){
    
if(szStr.substring(i, i + 1) != ' '){
      
return false;

  }

  
return true;


/**//***********************************************************************
 * 去掉一个字符串两端的空格
 
*/

function trim(szStr){
  
//去掉字符串头部的空格
  while(szStr.length > 0){
    
if( szStr.substring(0, 1) != ' '){
      
break;
    }
else{
      szStr
= szStr.substring(1);

  }


  
//去掉字符串尾部的空格
  while(szStr.length > 0){
    
if( szStr.substring(szStr.length - 1, szStr.length) != ' '){
      
break;
    }
else{
      szStr
= szStr.substring(0,szStr.length - 1);

  }

  
return szStr;


/**//***********************************************************************
 * 判断一个字符串是否为合法的日期格式:YYYY-MM-DD HH:MM:SS
 * 或 YYYY-MM-DD 或 HH:MM:SS
 
*/

function isDateStr(ds){
  parts
= ds.split(' ');
  
switch(parts.length){
    
case 2:
      
if(isDatePart( parts[0] ) == true && isTimePart( parts[1] )){
        
return true;
      }
else{
        
return false;
      }

    
case 1:
      aPart
= parts[0];
      
if(aPart.indexOf(':') > 0 ){
        
return isTimePart(aPart);
      }
else{
        
return isDatePart(aPart);
      }

    
default:
      
return false;
  }



/**//***********************************************************************
 * 判断一个字符串是否为合法的日期格式:YYYY-MM-DD
 
*/

function isDatePart(dateStr){
  
var parts;

  
if(dateStr.indexOf("-") > -1){
    parts
= dateStr.split('-');
  }
else if(dateStr.indexOf("/") > -1){
    parts
= dateStr.split('/');
  }
else{
    
return false;
  }


  
if(parts.length < 3){
  
//日期部分不允许缺少年、月、日中的任何一项
    return false;
  }


  
for(i = 0 ;i < 3; i ++){
  
//如果构成日期的某个部分不是数字,则返回false
    if(isNaN(parts[i])){
      
return false;

  }


  y
= parts[0];//
  m = parts[1];//
  d = parts[2];//

  
if(y > 3000){
    
return false;
  }


  
if(m < 1 || m > 12){
    
return false;
  }


  
switch(d){
    
case 29:
      
if(m == 2){
      
//如果是2月份
        if( (y / 100) * 100 == y && (y / 400) * 400 != y){
          
//如果年份能被100整除但不能被400整除 (即闰年)
        }
else{
          
return false;
        }

      }

      
break;
    
case 30:
      
if(m == 2){
      
//2月没有30日
        return false;
      }

      
break;
    
case 31:
      
if(m == 2 || m == 4 || m == 6 || m == 9 || m == 11){
      
//2、4、6、9、11月没有31日
        return false;
      }

      
break;
    
default:

  }


  
return true;


/**//***********************************************************************
 * 判断一个字符串是否为合法的时间格式:HH:MM:SS
 
*/

function isTimePart(timeStr){
  
var parts;

  parts
= timeStr.split(':');

  
if(parts.length < 2){
  
//日期部分不允许缺少小时、分钟中的任何一项
    return false;
  }


  
for(i = 0 ;i < parts.length; i ++){
  
//如果构成时间的某个部分不是数字,则返回false
    if(isNaN(parts[i])){
      
return false;

  }


  h
= parts[0];//
  m = parts[1];//

  
if( h < 0 || h > 23){
  
//限制小时的范围
    return false;
  }

  
if( m < 0 || h > 59){
  
//限制分钟的范围
    return false;
  }


  
if(parts.length > 2){
    s
= parts[2];//

    
if( s < 0 || s > 59){
    
//限制秒的范围
      return false;

  }


  
return true;


function chk_email(email){
  invalid
= "";

  
if (!email){}
  
//invalid = "请输入您的Email地址。";

  
else {

    
if ( (email.indexOf("@") == -1) || (email.indexOf(".") == -1) )
    invalid
+= " Email地址不合法。应当包含'@'和'.';例如('.com')。请检查后再递交。";

    
if (email.indexOf("your email here") > -1)
    invalid
+= " Email地址不合法,请检测您的Email地址,在域名内应当包含'@'和'.';例如('.com')。";

    
if (email.indexOf("\") > -1)
    invalid
+= " Email地址不合法,含有非法字符(\)。";

    
if (email.indexOf("/") > -1)
    invalid
+= " Email地址不合法,含有非法字符(/)。";

    
if (email.indexOf("'") > -1)
    invalid
+= " Email地址不合法,含有非法字符(')。";

    
if (email.indexOf("!") > -1)
    invalid
+= " Email地址不合法,含有非法字符(!)。";

    
if ( (email.indexOf(",") > -1) || (email.indexOf(";") > -1) )
    invalid
+= " 只输入一个Email地址,不要含有分号和逗号。";

    
if (email.indexOf("?subject") > -1)
    invalid
+= " 不要加入'?subject=...'。";

  }


  
if (invalid == ""){
    
return true;
  }
else{
    alert(
"输入的Email可能包含错误:" + invalid);
    
return false;
  }

}

转载于:https://www.cnblogs.com/liufei88866/archive/2008/01/10/1033754.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值