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

常用js代码

2015-02-05 14:34 211 查看
/*
* 只能为正整数
*/
var regNum0 = /^\d+$/;

/*
* 邮政编码
*/
var regPostCode0 = /^\d{6}$/;

/*
* 用户名
* 只能是字母数字下划线,并且以字母开头(5-16位)
*/
var regUserName0 = /^[a-zA-Z]\w{4,15}$/;

/*
* IP地址
* 如:192.168.1.102
*/
var regIP0 = /^((([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/;

/*
* 只能是中文汉字
*/
var regChineseChar0 = /^[\u4e00-\u9fa5]+$/;

/*
* 网址
* 只允许http、https、ftp这三种
* 如:http://www.baidu.com
*/
var regWeb0 = /^(([hH][tT]{2}[pP][sS]?)|([fF][tT][pP]))\:\/\/[wW]{3}\.[\w-]+\.\w{2,4}(\/.*)?$/;

/*
* 日期格式验证
* 因为日期格式比较多,主要验证了以下类型
* 2012-05-14、2012/05/6、2012.5.14、20120528
*/
var regDate0 = /^[1-9]\d{3}([-|\/|\.])?((0\d)|([1-9])|(1[0-2]))\1(([0|1|2]\d)|([1-9])|3[0-1])$/;

/** 获得系统毫秒数 */
function now() {
return ("function" == typeof Date.now) ? Date.now() : new Date().valueOf();
}

/** 判断是否为空 */
function isNull(val) {
if (val === null || val === "") {
return true;
}
return false;
}

function formatDate(date){

}

/** 获得带汉字的日期 */
function getTodayC() {
var d = new Date();
var s = "";
s += d.getFullYear() + "年";
s += (d.getMonth() + 1) + "月";
s += d.getDate() + "日";
s += "  星期" + dateNumToChinese(d.getDay());
return s;
}

/** 获得带英文的日期 */
function getTodayE(geshi, week) {
var d = new Date();
var s = "";
if ((geshi == "" || geshi == "-" || geshi == null) && week == 0) {
s += d.getFullYear() + "-";
s += (d.getMonth() + 1) + "-";
s += d.getDate();
} else if ((geshi == "" || geshi == "-" || geshi == null) && week == 1) {
s += d.getFullYear() + "-";
s += (d.getMonth() + 1) + "-";
s += d.getDate() + "  ";
s += dateNumToEn(d.getDay());
} else if (geshi == "/" && week == 1) {
s += d.getFullYear() + "/";
s += (d.getMonth() + 1) + "/";
s += d.getDate() + "/";
s += dateNumToEn(d.getDay());
} else {
s = "error";
}

return s;
}

/** 获得带汉字的时间 */
function getTodayTimeC() {
var d = new Date();
var s = "";
s += d.getHours() + "时"; // 获取当前小时数(0-23)
s += d.getMinutes() + "分"; // 获取当前分钟数(0-59)
s += d.getSeconds() + "秒";
return s;
}

/** 获得英文的时间 */
function getTodayTimeE(geshi) {
var d = new Date();
var s = "";
if (geshi == "" || geshi == null || geshi == ":") {
s += d.getHours() + ":"; // 获取当前小时数(0-23)
s += d.getMinutes() + ":"; // 获取当前分钟数(0-59)
s += d.getSeconds();

} else if (geshi == "-") {
s += d.getHours() + "-"; // 获取当前小时数(0-23)
s += d.getMinutes() + "-"; // 获取当前分钟数(0-59)
s += d.getSeconds();
} else if (geshi == "/") {
s += d.getHours() + "/"; // 获取当前小时数(0-23)
s += d.getMinutes() + "/"; // 获取当前分钟数(0-59)
s += d.getSeconds();
}

return s;
}

/** 转化数字为汉字星期 */
function dateNumToChinese(num) {
if (num == 1) {
return "一";
} else if (num == 2) {
return "二";
} else if (num == 3) {
return "三";
} else if (num == 4) {
return "四";
} else if (num == 5) {
return "五";
} else if (num == 6) {
return "六";
} else if (num === 0) {
return "日";
} else {
return "error";
}
}

/** 转化数字为英文星期 */
function dateNumToEn(num) {
if (num == 1) {
return "Mon";
} else if (num == 2) {
return "Tue";
} else if (num == 3) {
return "Wed";
} else if (num == 4) {
return "Thu";
} else if (num == 5) {
return "Fri";
} else if (num == 6) {
return "Sat";
} else if (num === 0) {
return "Sun";
} else {
return "error";
}
}
// +---------------------------------------------------
// | 求两个时间的天数差 日期格式为 YYYY-MM-dd
// +---------------------------------------------------
function daysBetween(DateOne, DateTwo) {
var OneMonth = DateOne.substring(5, DateOne.lastIndexOf('-'));
var OneDay = DateOne
.substring(DateOne.length, DateOne.lastIndexOf('-') + 1);
var OneYear = DateOne.substring(0, DateOne.indexOf('-'));

var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf('-'));
var TwoDay = DateTwo
.substring(DateTwo.length, DateTwo.lastIndexOf('-') + 1);
var TwoYear = DateTwo.substring(0, DateTwo.indexOf('-'));

var cha = ((Date.parse(OneMonth + '/' + OneDay + '/' + OneYear) - Date
.parse(TwoMonth + '/' + TwoDay + '/' + TwoYear)) / 86400000);
return Math.abs(cha);
}

// +---------------------------------------------------
// | 日期合法性验证
// | 格式为:YYYY-MM-DD或YYYY/MM/DD
// +---------------------------------------------------
function IsValidDate(DateStr) {
var sDate = DateStr.replace(/(^\s+|\s+$)/g, ''); // 去两边空格;
if (sDate == '')
return true;
// 如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''
// 数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式
var s = sDate.replace(
/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g, '');
if (s == '') // 说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
{
var t = new Date(sDate.replace(/\-/g, '/'));
var ar = sDate.split(/[-/:]/);
if (ar[0] != t.getYear() || ar[1] != t.getMonth() + 1
|| ar[2] != t.getDate()) {
// alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
return false;
}
} else {
// alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
return false;
}
return true;
}

// +---------------------------------------------------
// | 日期时间检查
// | 格式为:YYYY-MM-DD HH:MM:SS
// +---------------------------------------------------
function CheckDateTime(str) {
var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;
var r = str.match(reg);
if (r == null)
return false;
r[2] = r[2] - 1;
var d = new Date(r[1], r[2], r[3], r[4], r[5], r[6]);
if (d.getFullYear() != r[1])
return false;
if (d.getMonth() != r[2])
return false;
if (d.getDate() != r[3])
return false;
if (d.getHours() != r[4])
return false;
if (d.getMinutes() != r[5])
return false;
if (d.getSeconds() != r[6])
return false;
return true;
}

/** 添加下拉列表 */
// jQUery版
function addOptions(id, valueArr, contentArr) {
// 根据id获取对象
var s = $("#" + id);
// 根据值数据的长度决定
var length = valueArr.length;
if (length < 1) {
s.append("<option value='" + valueArr + "'>" + contentArr + "</option");
} else {
for (var i = 0; i < length; i++) {
s.append("<option value='" + valueArr[i] + "'>" + contentArr[i]
+ "</option>");
}
}
}
/**
* 检验table中的输入值是否为空 传入要检验的table的id 若为空则返回相应的行号和列号
*/
// jQUery版
function validTable(id) {
// 表
var table1 = $("#" + id);
var rows = 0;
var result = "";

// 行
var trs = $("#" + id + " tr").each(function() {
rows++;
var cols = 0;
var collength = $(this).children("td").length;
// alert(collength);
// 列
var tds = $(this).children("td");
tds.each(function() {
cols++;
var value1 = $(this).children().val();
if (isNull(value1)) {
$(this).children().focus();
result += rows + "," + cols + ";";
}
});
});
return result;
}

/**
* 去空格
* @param str
*/
function trim(str){
if(str==null||str=="") return "";
return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
};

/**
* 检验输入的是否是数字
* @param keyCode
*/
function isNumber(keyCode){
//alert(keyCode);
if (((keyCode >= 48 && keyCode <= 57 )&& window.event.shiftKey == false)
||(keyCode >= 96 && keyCode <= 105 ))
return true;
return false;
}
/**
* ??????????????????????
* @param keyCode ??????????
*/
function isCursorCtrl(keyCode){
if(keyCode >= 33 && keyCode <= 40 )
return true;
return false;
}
/**
* ??????????+??
* @param keyCode ??????????
*/
function isPlusSign(keyCode){
if(keyCode==187||keyCode==107)
return true;
return false;
}
/**
* ??????????-??
* @param keyCode ??????????
*/
function isSubtractionSign(keyCode){
if(keyCode == 109||keyCode == 189)
return true;
return false;
}

/**
* ??????????.??
* @param keyCode ??????????
*/
function isDotSign(keyCode){
if(keyCode==110 ||keyCode==190)
return true;
return false;
}
/**
* 检验是否是tab键
* @param keyCode
*/
function isTab(keyCode){
if(keyCode==9)
return true;
return false;
}
/**
* 检验是否是enter键
* @param keyCode
*/
function isEnter(keyCode){
if(keyCode==13)
return true;
return false;
}
/**
* 检验是否是退格键
* @param keyCode
*/
function isBackspace(keyCode){
if(keyCode==8)
return true;
return false;
}
/**
* 检验是否是delete键
*/
function isDelete(keyCode){
if(keyCode==46)
return true;
return false;
}

/**
* 将enter键转换为tab
*/
function enterToTab() {
if(window.event.keyCode==13)
window.event.keyCode=9;
}
/**
* 检验是否是数字
*/
function isDigitStr(s){
var patrn=/^[0-9]/;
if (!patrn.exec(s)) return false;
return true;
};

/**
* 延迟跳转页面
* 注意要在页面数据加载完成后才执行此函数,否则开始跳转页面了
* @param {Object} url
*/
function delayUrl(url){
var lanrenzhijia = $("#time").html();
alert(1);
if(lanrenzhijia > 0){
lanrenzhijia--;
document.getElementById('time').innerHTML = lanrenzhijia;
}else{
window.location.href = url ;
}
setTimeout("delayUrl('" + url + "')",1000);
}

/**
* 延迟跳转
*/
function delayUrl(url,time){
if(time>0){
time--;
}else{
window.location.href = url ;
}
setTimeout("delayUrl('" + url + "',"+time+")",1000);
}

/**
* 对符合条件的表单进行验证
*/
function valide(){
//重复密码校验
if($(".confirmPass").val()!=null&&$(".confirmPass").val()!=""&&$(".confirmPass").val()!=$(".password")){
alert("俩次密码不一致");
$(".confirmPass").focus();
return false;
}
//邮箱校验
$(".email").each(function (){
//alert($(this).val());
var reEmail=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
//alert(reEmail.test($(this).val()));
if(!reEmail.test($(this).val())){
alert("邮箱格式不正确");
$(this).focus();
return false;
}
});
//日期校验
$(".date").each(function (){

if(!RQcheck($(this).val())){
alert("日期格式不正确");
$(this).focus();
return false;
}
});
//数字校验
$(".num").each(function (){
var reNum=/^(-?\d+)(\.\d+)?$/;
if(!reNum.test($(this).val())){
alert("数字格式不正确");
$(this).focus();
return false;
}
});
//手机号
$(".tel").each(function (){
var reTel=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(!reTel.test($(this).val())){
alert("手机号格式不正确");
$(this).focus();
return false;
}
});
//ip地址
$(".IP").each(function (){
var reIP=/^((([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/;
if(!reIP.test($(this).val())){
alert("IP地址格式不正确");
$(this).focus();
return false;
}
});

return true;
}

/**
* 校验日期
*/
function RQcheck(RQ) {
var date = RQ;
var result = date.match(/^(\d{4})(-|\/)(\d{2})\2(\d{2})$/);

if (result == null){
return false;
}
var d = new Date(result[1], result[3] - 1, result[4]);
return (d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4]);
}

/**
* 用于限制只输入数字
* 暂时只支持IE,火狐有待开发
*/
function onlyNum(event){
var evt = event ? event : (window.event ?window.event : null);
// alert(evt.keyCode);
if(!(evt.keyCode==46)&&!(evt.keyCode==8)&&!(evt.keyCode==37)&&!(evt.keyCode==39)&&!(evt.keyCode==190)) {
if(!((evt.keyCode>=48&&evt.keyCode<=57)||(evt.keyCode>=96&&evt.keyCode<=105))) {
evt.returnValue=false; //不让非数字显示

}
}
//alert(evt.returnValue);
}
之前在哪看到做了个笔记,忘了,感谢原作者
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: