您的位置:首页 > Web前端 > JavaScript

js验证浏览器,禁用按钮,打印,转化字符串等小记

2012-11-08 16:42 260 查看
1 判断是何种浏览器

var name = navigator.appName;

if (name == "Microsoft Internet Explorer")

 alert("IE"); //IE`

else if (name == "Netscape")

 alert("NS");//Firefox

2 按钮点击后禁止所有按钮

for (var j = 0; j < document.forms.length; j++){

  for(var i=0;document.forms[j].elements.length;i++){

    if(document.forms[j].elements[i].type="button"){

      document.forms[j].elements[i].disabled = "disabled";

    }

  }

}

3 打印</a>打印网页

<a href='javascript:window.print ()'>

4 显示文档最后修改日期

document.write(document.lastModified);

5 可以根据网页上的选项来确定页面颜色

<HTML>

<HEAD>

 <TITLE>background.html</TITLE>

</HEAD>

<SCRIPT>

<!--

function bgChange(selObj) {

 newColor = selObj.options[selObj.selectedIndex].text;

 document.bgColor = newColor;

 selObj.selectedIndex = -1;

 }

//-->

</SCRIPT>

<BODY STYLE="font-family:Arial">

<B>Changing Background Colors</B>

<BR>

 <FORM>

  <SELECT SIZE="8" onChange="bgChange(this);">

  <OPTION>Red

  <OPTION>Orange

  <OPTION>Yellow

  <OPTION>Green

  <OPTION>Blue

  <OPTION>Indigo

  <OPTION>Violet

  <OPTION>White

 <OPTION>pink

  </SELECT>

 </FORM>

</BODY>

</HTML>

6 转至目标URL

window.location="http://www.baidu.com"

7 可以下载文件

document.location.href="目标文件"//

8 PreparedStatement的setDate和setTimestamp方法给数据库类型Date赋值

Connection conn = null;

PreparedStatement ps = null;

ps.setDate(1,new java.sql.Date(new java.util.Date().getTime()));//日期:年月日,没有时间

ps.setTimestamp(3, new java.sql.Timestamp(new java.util.Date().getTime()));//日期时间

9 PreparedStatement的setString()方法报错问题

当String字符串太大时报错,使用ps.setCharacterStream(1, new StringReader(inputXml), inputXml.length())方法替换setString()方法可解决

10 字符串去空格

parseString(inputXml.trim());使用此方法时,字符串有空格会报错,故参数字符串要去空格!

11 jsp中正则使用实例

/*

  对联系电话进行校验:手机必须1开头,3,5,8第二位,总共11位;

  固话,不加区号的必须以1开头,总位数6-9位,

  加区号必须以0开头,后2位为1-9中的2位或者3位,总位数8-14位

 */

 function checkTel(tel){

  if(tel.value!=""){

   if((checkPhone(tel.value)==false)

   &&(checkMobile(tel.value)==false)){

       alert("您输入的电话号码格式不正确!");

       return 1;

   }

  }

 }  

 function checkMobile( s ){   

  var regu =/^[1][3,5,8][0-9]{9}$/;

  var re = new RegExp(regu);

  if (re.test(s)) {

    return true;

  }else{

    return false;

  }

 }

 function checkPhone( strPhone ) { 

  var phoneRegWithArea = /^[0][1-9]{2,3}[0-9]{5,10}$/; 

  var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; 

  if( strPhone.length > 9 ) {

   if( phoneRegWithArea.test(strPhone) ){

    return true; 

   }else{

    return false; 

   }

  }else{

   if( phoneRegNoArea.test( strPhone ) ){

    return true; 

   }else{

    return false; 

   }  

  }

 }

 

12 xml格式字符串转换为DOM

 function parseXML(str){

  if (window.ActiveXObject){  // 用于 IE 的代码:

     var doc=new ActiveXObject("Microsoft.XMLDOM");

     doc.async="false";

        doc.loadXML(str);

    }else{  // 用于 Mozilla, Firefox, Opera, 等浏览器的代码:

     var parser=new DOMParser();

     var doc=parser.parseFromString(str,"text/xml");

    }

  return doc;

 }

 

 向XML解析器载入了某个已有的XML文档("note.xml"):

 function loadXML(){

    // 用于 IE 的代码:

    if (window.ActiveXObject){

      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");

      xmlDoc.async=false;

      xmlDoc.load("note.xml");

      getmessage();

    }

    // 用于 Mozilla, Firefox, Opera, 等浏览器的代码:

    else if (document.implementation &&

    document.implementation.createDocument)

      {

      xmlDoc=document.implementation.createDocument("","",null);

      xmlDoc.load("note.xml");

      xmlDoc.onload=getmessage;

      }

    else

      {

      alert('Your browser cannot handle this script');

      }

  }

 

13 JDBC驱动ORACLE数据库连接

    String url = "jdbc:oracle:thin:@135.32.9.139:1521:ibsscrm";

  String user = "";

  String password = "";

  Connection conn = null;

  PreparedStatement ps = null;

  ResultSet rs = null;

  String sql = "";

  try{

      Class.forName("oracle.jdbc.driver.OracleDriver");

      conn = DriverManager.getConnection(url, user, password);

      ps = conn.prepareStatement(sql);

      ps.setString(1,"");//设置字符串参数

      ps.setCharacterStream(1,new StringReader(""),"".length);//设置字符串很大的参数

      ps.setDate(1,new java.sql.Date(new java.util.Date().getTime()));//日期:年月日,没有时间

      ps.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().getTime()));//日期时间

      rs = ps.executeQuery();

      while(rs.next){

        rs.getString("");

        ... ...

      }

    }catch(Exception e){

      

    }

  

14 使用 onerror 事件是一种老式的标准的在网页中捕获 Javascript 错误的方法。

  <html>

  <head>

  <script type="text/javascript">

  onerror=handleErr

  var txt=""

  function handleErr(msg,url,l)

  {

  txt="There was an error on this page.\n\n"

  txt+="Error: " + msg + "\n"

  txt+="URL: " + url + "\n"

  txt+="Line: " + l + "\n\n"

  txt+="Click OK to continue.\n\n"

  alert(txt)

  return true

  }

  function message()

  {

  adddlert("Welcome guest!")

  }

  </script>

  </head>

  <body>

  <input type="button" value="View message" onclick="message()" />

  </body>

  </html>

  

  try...catch 的作用是测试代码中的错误。throw 声明的作用是创建 exception(异常或错误)。

  <html>

  <body>

  <script type="text/javascript">

  var x=prompt("Enter a number between 0 and 10:","")

  try

  { 

  if(x>10) 

  throw "Err1"

  else if(x<0)

  throw "Err2"

  } 

  catch(er)

  {

  if(er=="Err1") 

  alert("Error! The value is too high")

  if(er == "Err2") 

  alert("Error! The value is too low") 

  }

  </script>

  </body>

  </html>

  

15 使用反斜杠来向文本字符串添加特殊字符

  \' 单引号 

  \" 双引号 

  \& 和号 

  \\ 反斜杠 

  \n 换行符 

  \r 回车符 

  \t 制表符 

  \b 退格符 

  \f 换页符

16 js注释:

您可以使用两个斜杠来添加注释:

//this is a comment

document.write("Hello World!")也可以使用 /* 和 */:(这样可以创建多行的注释块)

/* This is a comment

block. It contains

several lines */

document.write("Hello World!")

如何与老的浏览器打交道

那些不支持 JavaScript 的浏览器会把脚本作为页面的内容来显示。为了防止这种情况发生,我们可以使用这样的 HTML 注释标签:

<script type="text/javascript">

<!--

document.write("Hello World!")

//-->

</script>

17 js对数字进行排序

  <html>

  <body>

  <script type="text/javascript">

  function sortNumber(a, b)

  {

  return a - b

  }

  var arr = new Array(6)

  arr[0] = "10"

  arr[1] = "5"

  arr[2] = "40"

  arr[3] = "25"

  arr[4] = "1000"

  arr[5] = "1"

  document.write(arr + "<br />")

  document.write(arr.sort(sortNumber))

  document.write(arr.sort(function(a,b){return a-b}))

  </script>

  </body>

  </html>

 

18 将一张表a字段相同的b字段拼接在一起如何做

如  a b

    1 x

    1 y

    1 z

    2 k

    2 e

-----------------------

select a,wm_concat(b) b from tt group by a;

a b

1 x,y,z

2 k,e

19 JS阻止事件冒泡

function test(e) {

    e = e || window.event;

    if(e.stopPropagation) { //W3C阻止冒泡方法

        e.stopPropagation();

    } else {

        e.cancelBubble = true; //IE阻止冒泡方法

    }

}

20获取鼠标点击绝对位置

  //获取对应属性的长度

 function getLength(attr,item){

      var offset = 0;  

      while (item){

          offset += item[attr];

          //alert(item.tagName);

          item = item.offsetParent;

      }     

      return offset; 

  }

  //offsetTop 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算顶端位置。

  //offsetLeft 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。

  //spanObj为鼠标点击的对象 

  function test(spanObj){

    var left = getLength("offsetLeft",spanObj);

  var top =  getLength("offsetTop",spanObj);

  }

记着作笔记看看,以免以后用得到某些。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  function JS 浏览器