/****************************** 常用的js判断格式 *************************************/
// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
function isalphanumber(str) {
var result = str.match(/^[a-zA-Z0-9]+$/);
if (result == null)
return false;
return true;
}
/******************************/
// 判断输入是否是一个数字--(数字包含小数)--
function isnumber(str) {
return !isNaN(str);
}
//大于0 的数字
function isnumberDYO(str) {
if (!isNaN(str)) {
if (parseInt(str) > 0)
return true;
else
return false;
}
else
false;
}
// 判断输入是否是一个整数
function isint(str) {
var result = str.match(/^(-|\+)?\d+$/);
if (result == null) return false;
return true;
}
// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" || "YYYY/MM/DD HH:MM:SS"
function isdatetime(str) {
var result = str.match(/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2})$/);
if (result == null) return false;
var d = new Date(result[1], result[3] - 1, result[4], result[5], result[6]);
return (d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4] && d.getHours() == result[5] && d.getMinutes() == result[6]);
}
//判断两个日期大小
function checkEndTime(startTime, endTime) {
console.log(startTime);
console.log(endTime);
var start = new Date(startTime.replace("-", "/").replace("-", "/"));
var end = new Date(endTime.replace("-", "/").replace("-", "/"));
console.log(end < start);
return end < start;
}
// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式
function isdate(str) {
var result = str.match(/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,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]);
}
// 判断输入是否是有效的电子邮件
function isemail(str) {
var result = str.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
if (result == null) return false;
return true;
}
// 去除字符串的首尾的空格
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}
// 返回字符串的实际长度, 一个汉字算2个长度
function strlen(str) {
return str.replace(/[^\x00-\xff]/g, "**").length;
}
//匹配中国邮政编码(6位)
function ispostcode(str) {
var result = str.match(/[1-9]\d{5}(?!\d)/);
if (result == null) return false;
return true;
}
//匹配国内电话号码(0511-4405222 或 021-87888822)
function istell(str) {
var result = str.match(/\d{3}-\d{8}|\d{4}-\d{7}/);
if (result == null) return false;
return true;
}
//校验是否为(0-10000)的整数
function isint1(str) {
var result = str.match(/^[0-9]$|^([1-9])([0-9]){0,3}$|^10000$/);
if (result == null) return false;
return true;
}
//匹配腾讯QQ号
function isqq(str) {
var result = str.match(/[1-9][0-9]{4,}/);
if (result == null) return false;
return true;
}
//匹配身份证(15位或18位)
function isidcard(str) {
var result = str.match(/\d{15}|\d{18}/);
if (result == null) return false;
return true;
}
function checkIDCard(str) {
//身份证正则表达式(15位)
isIDCard1 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
//身份证正则表达式(18位)
isIDCard2 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
//验证身份证,返回结果
return (isIDCard1.test(str) || isIDCard2.test(str));
}
//校验文本是否为空
function checknull(field, sval) {
if (field.value == "") {
alert("请填写" + sval + "!");
field.focus();
return false;
}
return true;
}
//判断为空性
function IsTrem(str) {
var name = $.trim(str)
if (name == "")
return false;
else
return true;
}
//判断为正整数
function IsZS(value) {
if ((/^(\+|-)?\d+$/.test(value)) && value > 0) {
return true;
} else {
return false;
}
}
//屏蔽输入字符
/***********************
调用方法:
在文本框中加上 onkeypress="return checkChar()"
*************************/
function checkChar() {
var keycode = event.keyCode;
if (!(keycode >= 48 && keycode <= 57)) {
return false;
}
}
(function ($) {
$.fn.extend({
fileTypeJudge: function (str) {
return this.each(function () {
var rightFileType;
var fileType;
var pojo;
if (str == "photo") {
rightFileType = new Array("jpg", "bmp", "gif", "png", "jpeg");
pojo = "图片";
} else if (str == "package") {
rightFileType = new Array("jar", "six", "sisx", "apk", "jad");
pojo = "游戏包";
} else {
return;
}
var fileType = $(this).val().substring($(this).val().lastIndexOf(".") + 1);
if (!in_array(fileType, rightFileType)) {
this.outerHTML += '';
this.value = "";
alert("只支持" + pojo + "文件上传!");
}
})
}
})
})
function in_array(needle, haystack) {
// 得到needle的类型
var type = typeof needle;
if (type == 'string' || type == 'number') {
for (var i in haystack) {
if (haystack[i] == needle) {
return true;
}
}
}
return false;
}
//使用方法
//$(":file").bind("change", function () {
// $(this).fileTypeJudge("package");
//})
function JudageImage(filepath) {
//var filepath=$("input[name='myFile']").val();
var extStart = filepath.lastIndexOf(".");
var ext = filepath.substring(extStart, filepath.length).toUpperCase();
if (ext != ".BMP" && ext != ".PNG" && ext != ".GIF" && ext != ".JPG" && ext != ".JPEG") {
alert("图片限于bmp,png,gif,jpeg,jpg格式");
return false;
}
return true;
}
//判断手机号码为13位和15位
function phone() {
if (/^13\d{9}$/g.test(tel) || (/^15[8,9]\d{8}$/g.test(tel)))
return true
else
return false;
}
//电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
function JudagePhone(str) {
var result = str.match(/(\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$/);
if (result == null) return false;
return true;
}
//checkbox 变为单选框 Name属性的名称 check 为选择的对象 this
function updateCheck(checkboxName, check) {
$(':checkbox[name=' + checkboxName + ']').each(function () {
if ($(this).attr('checked') && $(this).val() != $(check).val()) {
$(this).attr('checked', false);
}
});
}
//得到url路径传递过来的值
$(function () {
$.extend({
extend_extend_getUrlVars: function () {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
extend_getUrlVar: function (name) {
return $.extend_extend_getUrlVars()[name];
}
});
var id = $.extend_getUrlVar('Id');//根据键得到值,使用方法
});
//使用格式: var POL_NAME_EN = $.extend_getUrlVar('输入传入的key');
//例如:url为http://zhidao.baidu.com/?id=123
// var id=<span style="font-family: Arial, Helvetica, sans-serif;">$.extend_getUrlVar('id');</span>
//转换日期
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return format;
}
//使用方法
// var time = new Date(parseInt(item.AnswerDateTime.replace("/Date(", "").replace(")/", ""), 10));
//time.format('yyyy-MM-dd hh:mm')