關閉瀏覽器提示
window.onbeforeunload = function (e) {
if(isCloseWin) return e.returnValue = "Note: You didn't save the data. Determined to leave?";
}
解決indexof兼容問題
//解决ie不兼容indexOf
if(!Array.indexOf){
Array.prototype.indexOf = function(obj){
for(var i=0; i<this.length; i++){
if(this[i]==obj){
return i;
}
}
return -1;
}
}
0.加載js和css
function includeLinkStyle(url) {
var link = document.createElement("link");
link.rel = "stylesheet";
link.type = "text/css";
link.href = url;
document.getElementsByTagName("head")[0].appendChild(link);
}
function includeScriptFile(url){
var script= document.createElement("script");
script.src=url;
document.getElementsByTagName("head")[0].appendChild(script);
}
includeLinkStyle("css.css");
includeLinkStyle("animate.css");
1. 匹配英文名
str = str.replace(/(^\s*)|(\s*$)/g,"");//去掉首尾空格
//字符头尾是字母,中间由空格和字母组成,中间可以有多个空格
if(/^[A-Za-z][A-Za-z\s]*[A-Za-z]$/.test(str)){
str = str.replace(/\s+/g," ");//将中间无论多少空格替换成一个
}
2. 發郵件
html:
<a href="#" id="emailTopic1" οnclick="return sendEmail(this,{to:['xxx@xx.com','xxx@xx.com'],cc:['xxx@xx.com'],bcc:['xxx@xxx'],subject:'小夥伴們的通行證都已經拿到手了',body:'email subject test!!!! Oh, Yeah! 小夥伴們的通行證都已經拿到手了. BTW, 中文有木有問題?'});">sent email</a>
js:
function sendEmail(ele,o){
if(arguments.length==2 && arguments[1] instanceof Object){
var emailUrl='mailto:'+encodeURIComponent(o.to ? o.to.join(';') : ' ')+'&cc='+encodeURIComponent(o.cc ? o.cc.join(';') : ' ')+'&subject='+encodeURIComponent(o.subject ? o.subject : '')+'&bcc='+encodeURIComponent(o.bcc ? o.bcc.join(';') : ' ')+'&body='+encodeURIComponent(o.body ? o.body : '');
ele.href=emailUrl;
//for ie
try{
if (new ActiveXObject("Outlook.Application")) {
return true;
} else {
alert("因為郵件客戶端沒有正確安裝,所以無法執行該操作!");
return false;
}
} catch(e){}
return true;//for not ie
} else {
alert('參數錯誤,參數(dom object,json object)!');
return false;
}
}
3. 處理多選和單選
js代碼:
function selectCheckBoxAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++) {
if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) {
el[i].checked = true;
}
}
}
function clearCheckBoxAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++) {
if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) {
el[i].checked = false;
}
}
}
function isSelectCheckBox(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++) {
if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) {
if(el[i].checked == true) return true;
}
}
return false;
}
function getSelectRadioValue(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++) {
if((el[i].type.toLowerCase()=="radio") && (el[i].name==name)) {
if(el[i].checked == true) return el[i].value;
}
}
return false;
}
html代碼:
<input type="checkbox" name="cb[]" value="0" />
<input type="checkbox" name="cb[]" value="1" />
<script>
clearCheckBoxAll('approval[]');
</script>
4. 其他未規類
/*
1.Trim(str)--去除字符串两边的空格
2.XMLEncode(str)--对字符串进行XML编码
3.IsEmpty(obj,str)--验证输入框是否为空,str为字段名
4.IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0
5.IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
6.IsEnLetter(string,string):测试字符串,大小写(UL,U,L or ul,u,l)*/
/*
Trim(string):去除字符串两边的空格
LTrim(string):去除左边的空格
*/
function LTrim(str)
{
var whitespace = new String(" \t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(0)) != -1)
{
var j=0, i = s.length;
while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
{
j++;
}
s = s.substring(j, i);
}
return s;
}
/*
RTrim(string):去除右边的空格
*/
function RTrim(str)
{
var whitespace = new String(" \t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
{
var i = s.length - 1;
while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
{
i--;
}
s = s.substring(0, i+1);
}
return s;
}
/*
Trim(string):去除前后空格
*/
function Trim(str)
{
return RTrim(LTrim(str));
}
/*
XMLEncode(string):对字符串进行XML编码
*/
function XMLEncode(str)
{
str=Trim(str);
str=str.replace("&","&");
str=str.replace("<","<");
str=str.replace(">",">");
str=str.replace("'","'");
str=str.replace("\"",""");
return str;
}
/*
验证类函数
*/
function IsEmpty(obj,str)
{
if(Trim(str)==""||(str==null)) str="字段";
//obj=document.getElementsByName(obj).item(0);
if(Trim(obj.value)=="")
{
alert(str+"不能为空。");
if(obj.disabled==false && obj.readOnly==false)
{
obj.focus();
}
}
}
/*
IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0
*/
function IsInt(objStr,sign,zero)
{
var reg;
var bolzero;
if(Trim(objStr)=="")
{
return false;
}
else
{
objStr=objStr.toString();
}
if((sign==null)||(Trim(sign)==""))
{
sign="+-";
}
if((zero==null)||(Trim(zero)==""))
{
bolzero=false;
}
else
{
zero=zero.toString();
if(zero=="0")
{
bolzero=true;
}
else
{
alert("检查是否包含0参数,只可为(空、0)");
}
}
switch(sign)
{
case "+-":
//整数
reg=/(^-?|^\+?)\d+$/;
break;
case "+":
if(!bolzero)
{
//正整数
reg=/^\+?[0-9]*[1-9][0-9]*$/;
}
else
{
//正整数+0
//reg=/^\+?\d+$/;
reg=/^\+?[0-9]*[0-9][0-9]*$/;
}
break;
case "-":
if(!bolzero)
{
//负整数
reg=/^-[0-9]*[1-9][0-9]*$/;
}
else
{
//负整数+0
//reg=/^-\d+$/;
reg=/^-[0-9]*[0-9][0-9]*$/;
}
break;
default:
alert("检查符号参数,只可为(空、+、-)");
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
/*
IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
*/
function IsFloat(objStr,sign,zero)
{
var reg;
var bolzero;
if(Trim(objStr)=="")
{
return false;
}
else
{
objStr=objStr.toString();
}
if((sign==null)||(Trim(sign)==""))
{
sign="+-";
}
if((zero==null)||(Trim(zero)==""))
{
bolzero=false;
}
else
{
zero=zero.toString();
if(zero=="0")
{
bolzero=true;
}
else
{
alert("检查是否包含0参数,只可为(空、0)");
}
}
switch(sign)
{
case "+-":
//浮点数
reg=/^((-?|\+?)\d+)(\.\d+)?$/;
break;
case "+":
if(!bolzero)
{
//正浮点数
reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//正浮点数+0
reg=/^\+?\d+(\.\d+)?$/;
}
break;
case "-":
if(!bolzero)
{
//负浮点数
reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//负浮点数+0
reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
}
break;
default:
alert("检查符号参数,只可为(空、+、-)");
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
/*
IsEnLetter(string,string):测试字符串,大小写(UL,U,L or ul,u,l)
*/
function IsEnLetter(objStr,size)
{
var reg;
if(Trim(objStr)=="")
{
return false;
}
else
{
objStr=objStr.toString();
}
if((size==null)||(Trim(size)==""))
{
size="UL";
}
else
{
size=size.toUpperCase();
}
switch(size)
{
case "UL":
//大小写
reg=/^[A-Za-z]+$/;
break;
case "U":
//大写
reg=/^[A-Z]+$/;
break;
case "L":
//小写
reg=/^[a-z]+$/;
break;
default:
alert("检查大小写参数,只可为(空、UL、U、L)");
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
5. Ctrl + Enter
//Ctrl+Enter 发布
function ctrlEnter(event, btnId, onlyEnter) {
if(isUndefined(onlyEnter)) onlyEnter = 0;
if((event.ctrlKey || onlyEnter) && event.keyCode == 13) {
$$(btnId).click();
document.getElementById(
return false;
}
return true;
}
//基於jquery
//批量替换超链接的#号,防止页面跳动
function a_void(){
$("a").each(function(index, element) {
if ($(this).attr("href")=="#"){
$(this).attr('href','javascript:void(0);');
}
});
}
//滚动到一定距离,出现返回顶部按钮,参数是按钮元素
function sroll_top(selector){
$(window).bind("scroll",function(){
if( $(document).scrollTop() < $(window).height() *1.5 ) {
jQuery(selector).hide();
}else if($(document).scrollTop() > $(window).height() *1.5){
jQuery(selector).show();
}
});
}
/**增加到收藏夹,参数sURL地址,sTitle名称***/
function AddFavorite(sURL, sTitle)
{
try
{
window.external.addFavorite(sURL, sTitle);
}
catch (e)
{
try
{
window.sidebar.addPanel(sTitle, sURL, "");
}
catch (e)
{
alert("加入收藏失败,请使用Ctrl+D进行添加");
}
}
}
/***
*base64解碼,返回:字符串
**/
function decode_base64(s) {
var e = {}, i, k, v = [], r = '', w = String.fromCharCode;
var n = [[65, 91], [97, 123], [48, 58], [43, 44], [47, 48]];
for (z in n) {
for (i = n[z][0]; i < n[z][1]; i++) {
v.push(w(i));
}
}
for (i = 0; i < 64; i++) {
e[v[i]] = i;
}
for (i = 0; i < s.length; i += 72) {
var b = 0, c, x, l = 0, o = s.substring(i, i + 72);
for (x = 0; x < o.length; x++) {
c = e[o.charAt(x)];
b = (b << 6) + c;
l += 6;
while (l >= 8) {
r += w((b >>> (l -= 8)) % 256);
}
}
}
return r;
}