/****************************** 常用的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')