總結一些js自訂的函數

來源:互聯網
上載者:User
js|函數

1、dayin()
作用:將id為dayin的內容,建立頁面並列印,可解決列印某頁面中的部分內容的問題。
使用方法:將要列印的內容通過 <span id="dayin"></span>包含起來,然後在某個按扭中定義事件
<input type="button" value="列印">
 
function dayin() 
{
  var code="<body onload=window.print()>"
  code+=document.all.dayin.innerHTML;
  code=code.toUpperCase();
  code=code.replace(/<A[^>]*>刪除<\/A>/gi, "");
  code=code.toLowerCase();
  var newwin=window.open('','','');
  newwin.opener = null;
  newwin.document.write(code);
  newwin.document.close();
}


其中code=code.replace(/<A[^>]*>刪除<\/A>/gi, "");
是過濾掉內容中的所有刪除串連
 
2、isNumber(st)
作用:判斷變數st是否由數字組成(包括負數和小數),如果是返回true,否則返回false。
function isNumber(st)
{
var Letters = "1234567890-.";
var i;
var c;
if(st.charAt( 0 )=='.')
return false;
if(st.charAt( 0 )=='-'&&st.charAt( 1 )=='.')
return false;
if( st.charAt( st.length - 1 ) == '-' )
return false;
for( i = 0; i < st.length; i ++ )
{
c = st.charAt( i );
if (Letters.indexOf( c ) < 0)
return false;
}
return true;
}


3、createCookie(name,value,days)
作用:建立名稱為name,值為values,有效期間為days天的cookie。同時可用做修改。
function createCookie(name,value,days){
  var expires = "";
  if (days) {
   var date = new Date();
   date.setTime(date.getTime()+(days*24*60*60*1000));
   expires = "; expires="+date.toGMTString();
  };
  document.cookie = name+"="+value+expires+"; path=/";
};

4、readCookie(name)
作用:根據名稱,讀取出cookie的值。如果無,則返回null。
function readCookie(name){
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
   var c = ca[i];
   while (c.charAt(0)==' ') c = c.substring(1,c.length);
   if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  };
  return null;
};

5、request(st)
作用:得到瀏覽器地址欄中的某個參數的值(不完美解決,例如有空格的話會得到%20,但支援中文)
function request(st) {
var ustr=document.location.search;
var intPos = ustr.indexOf("?");
var strRight = ustr.substr(intPos + 1);
var arrTmp = strRight.split("%26");
for(var i = 0; i < arrTmp.length; i++)
{
var arrTemp = arrTmp[i].split("=");
if(arrTemp[0].toUpperCase() == st.toUpperCase()) return arrTemp[1];
}
return "";
}

6、hideObject(obj)
作用:隱藏obj
function hideObject(obj) {
  obj.style.display = "none";
}

7、showObject(obj)
作用:顯示obj
function showObject(obj) {
  obj.style.display = "block";
}

8、trim(str)
作用:去str兩邊空格

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

9、function bj_date(d1,d2)
作用:比較d1,d2日期的大小
function bj_date(d1,d2)
{
/*
author:wxg
作用:比較日期大小
參數:d1 d2
字元型 年-月-日  類型,如 2005-01-22
傳回值: 0/1/2
數字型
d1>d2 返回0
d1=d2 返回1
d1<d2 返回2
*/
if(d1==""&&d2==""){
return 3
}
if(d1==""||d2==""){
return 4
}
d1=d1.split("-")
d2=d2.split("-")
var a = new Date(Number(d1[0]),Number(d1[1]),Number(d1[2]))
var b=new Date(Number(d2[0]),Number(d2[1]),Number(d2[2]))
a = a.valueOf()
b=b.valueOf()
if(a-b>0)
return 0
if(a-b==0)
return 1
if(a-b<0)
return 2
}


10、格式化數字成貨幣格式
function setCurrency(s){
if(/[^0-9\.\-]/.test(s)) return "invalid value";
s=s.replace(/^(\d*)$/,"$1.");
s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
return s.replace(/^\./,"0.")
}
 
11、運行代碼
 
function runCode(obj) {
        var winname = window.open('', "_blank", '');
        winname.document.open('text/html', 'replace');
 winname.opener = null // 防止代碼對論談頁面修改
        winname.document.writeln(obj.value);
        winname.document.close();
}
 
12、儲存代碼
 
function saveCode(obj) {
        var winname = window.open('', '_blank', 'top=10000');
        winname.document.open('text/html', 'replace');
        winname.document.writeln(obj.value);
        winname.document.execCommand('saveas','','code.htm');
        winname.close();
}
 
function strLen(str) {
 var count=0, asc, test='中文';
 if (test.length==2) {
  for (var i=0;i<str.length;i++) {
   asc = str.charCodeAt(i);
   if (asc < 0) asc += 65536;
   if (asc > 255) count++;
  }
 }
 return str.length+count;
}
//按位元組數截取左側字串
function strSubLeft(str, len) {
 var count=0, asc, ret = "";
 for (var i=0;i<str.length;i++) {
  asc = str.charCodeAt(i);
  if (asc < 0) asc += 65536;
  if (asc > 255) count++;
  if (i + count >= len) {
   ret = str.substr(0, i);
   break;
  }
 }
 return ret;
}
function getRandom(){
 return "&"+Math.random()*1000+"&";
}
function checkInt(str){
 if(str==null||str==""){
  //alert("請輸入數字!");
  return false;
 }
 var digits = "1234567890";
 var i = 0;
 var strlen = str.length;
 while((i<strlen)){
  var char = str.charAt(i);
  if(digits.indexOf(char) == -1) {
   //alert("請輸入正確的數字!");
   return false;
  }
  i++;
 }
 return true;
}
function hasWord(str){
 if(str.replace(/ /g,'')==""||str.replace(' ','')==""){
  return false;
 }else{
  return true;
 }
}
function replaceAll(oldStr,findStr,repStr){
 var srchNdx = 0;
 var newStr = "";
 while (oldStr.indexOf(findStr,srchNdx) != -1){
  newStr += oldStr.substring(srchNdx,oldStr.indexOf(findStr,srchNdx));
  newStr += repStr;
  srchNdx = (oldStr.indexOf(findStr,srchNdx) + findStr.length);
 }
 newStr += oldStr.substring(srchNdx,oldStr.length);
 return newStr;
}

function checkPrice(inputValue){
 inputValue=""+inputValue;
 
 myRegExp = /^(\d+),(\d+)$/;
 if (inputValue.match(myRegExp)) return true;
 else return false;
}
/*驗證正整數*/
function checkNum(valueStr){
 var myRegExp = /^(\d+)$/;
 if (valueStr.match(myRegExp)){
   return true;
 }else{
   return false;
 }
}
/*限制obj(通常為TEXTAREA)中的字元個數*/
function checkWordsLength(obj,maxLength){
  if(obj.value.length>=maxLength){
  obj.value="http://www.xrss.cn/obj.value.substring(0,maxLength-1);
 " }
}



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。