//通过id名称获取元素对象
function getid(idName){
return document.getElementById(idName);
}
//随机获取min-max的随机整数
function getRand(min,max){
return parseInt(Math.random()*(max-min+1)+min);
}
//判断一个数是否是素数
function isPrime(num){
for (var i = 2; i < num; i++) {
if(num % i == 0){
return false;
}
}
return true;
}
//判断一个数在数组中是否存在
function hsEleInArr(arr,num){
for (var i = 0; i < arr.length; i++) {
if(arr[i] === num){
return true;
}
}
return false;
}
//获取十六进制随机颜色值
function getColor(){
var color = "#";
var str = "0123456789abcdef";
var rand;
for (var i = 0; i < 6; i++) {
rand = getRand(0,15);
color += str.charAt(rand);
}
return color;
} //获取四位数的随机验证码
function getYZM(num){
//数字,字母(大小写字母)
//随机从ASCII中获取数字字母
//从48-122之间获取一个随机数
//这个随机数包含了一些特殊字符
//排除特殊字符 的ASCII码
//通过ASCII码获取对应字符。
//获取num次
var rand,ch;
var yzm = "";
for (var i = 0; i < num; i++) {
//从48-122之间获取一个随机数
rand = getRand(48,122);
if((rand >= 58 && rand <= 64) || (rand >= 91 && rand <= 96)){//排除特殊字符 的ASCII码
i--;
}else{
//通过ASCII码获取对应字符。
ch = String.fromCharCode(rand);
//console.log(typeof ch);
yzm += ch;
}
}
return yzm;
} //封装一个时间函数,将时间本地化输出
function dateToString(date){ var str = "";
var weekArr = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours();
var f = date.getMinutes();
var s = date.getSeconds();
var w = date.getDay();//0-6 str += y + "年" + getDb(m) + "月" + getDb(d) + "日 ";
str += getDb(h) + ":" + getDb(f) + ":" + getDb(s) + " ";
// str += weekArr[w]; //m是一个个位数,在个位数前加0;
//封装一个前面加的方法
return str;
}
function getDb(num){
//小于10的数,前面加0
return num < 10 ? "0" + num : num;
}
//获取两个时间对象的时间差的秒数
function getDifTime(startTime,endTime){
return (endTime.getTime() - startTime.getTime()) / 1000;
} //兼容ie8通过className获取元素对象集合。
function getElesByClassName(className){
var elesArr = [];//保存所有以className命名的元素集合
//通过标签名称获取页面所有的元素集合
var allEle = document.getElementsByTagName("*");
//遍历所有元素对象
for (var i = 0; i < allEle.length; i++) {
//判断每一个元素是否包含了className命名的元素对象,
if(allEle[i].className === className){
//如果有,把这个元素对象push到一个新数组 中
elesArr.push(allEle[i]);
}
}
//console.log(allEle);
//返回这个新数组
return elesArr;
}
//封装一个函数,获取所有的元素节点
function getChidren(parentNode){
//获取 所有的子节点
var children = parentNode.childNodes;
var nodeArr = [];
//遍历所有的子节点
for (var i = 0; i < children.length; i++) {
//判断是否是元素节点
if(children[i].nodeType == 1){
//如果是元素节点,保存到nodeArr中
nodeArr.push(children[i]);
}
}
//返回nodeArr
return nodeArr;
}
//添加新节点到目标节点的后面
function insertAfter(newNode,target){
//获取target的父节点
var supNode = target.parentNode;
var children = getChidren(supNode);
//判断 target是否是父节点的最后一个子元素节点
if(children[children.length-1] === target){
//如果是:将新节点添加到父节点的最后
supNode.appendChild(newNode);
}else{
//如果不是:说明target一定有下一个兄弟元素节点
//将新节点添加到下一个兄弟元素节点的前面
supNode.insertBefore(newNode,target.nextSibling);
}
}
//兼容ie8获取事件对象的button属性
function getButton(eve){
//如果eve不是undefined说明就是高版本的浏览器
if(eve){//
//高版本浏览器
return eve.button;
}else{
//ie8下执行
var but = window.event.button;
switch(but){
case 1:
return 0;
case 4:
return 1;
case 2:
return 2;
}
}
}
//兼容ie8实现阻止事件冒泡
function stopProp(e){
if(e.stopPropagation){
e.stopPropagation();
}else{
e.cancelBubble = true;
}
}
//兼容ie8实现阻止事件事件默认行为
function preventDef(e){
if(e.preventDefault){
e.preventDefault();
}else{
e.returnValue = false;
}
}
//兼容ie8实现事件监听
function addEvent(ele,event,callBack){
//fn = function(){alert(1)};
//ele.addEventListener(event,fn);
if(ele.addEventListener){//现代浏览器
ele.addEventListener(event,callBack);
}else{//ie8
ele.attachEvent("on" + event,callBack);
}
}
//兼容ie8获取事件对象的page属性
function getPage(e){//e.兼容好的事件对象
var sleft = document.documentElement.scrollLeft || document.body.scrollLeft;
var stop = document.documentElement.scrollTop || document.body.scrollTop;
return {
x : e.clientX + sleft,
y : e.clientY + stop
}
}
//兼容ie8去掉字符串的左右空格
function myTrim(str){
//return str.replace(/^\s+/,"");//去掉left
//return str.replace(/\s+$/,"");//去掉right
return str.replace(/^\s+|\s+$/g,"");//去掉前后空格
} //电话号码(手机)
function isMobilePhone2(source) {
var regex = /0?(13|14|15|18|17)[0-9]{9}/;
return regex.test(source);
}
//
function isEmail(source) {
var regex = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if(source.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1){
return true;
}else{
// alert("电子邮箱格式不正确");
return false;
}
}
//是否是由字母或数字组成的字符串
function checkLetOrNum(letVale) {
var regex = /^([a-zA-Z_]{1})([\w]*)$/g;
var b = regex.test(letVale);
return b;
}

public.js的更多相关文章

  1. js实现输入框数量加减【转】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. js平滑滚动到顶部,底部,指定地方

    [原文链接] 采用锚点进行页面中的跳转的确很方便,但是要想增加网页的效果,可以使用jquery中的animate,实现滚动的一个动作,慢慢的滚动到你想跳转到的位置,从而看起来会非常高大上. [示例演示 ...

  3. 设为首页 和 收藏本站js代码 兼容IE,chrome,ff

    设为首页 和 收藏本站js代码 兼容IE,chrome,ff //设为首页 function SetHome(obj,url){ try{ obj.style.behavior='url(#defau ...

  4. yii2 如何在页面底部加载css和js

    作者:白狼 出处:www.manks.top/article/yii2_load_js_css_in_end 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 ...

  5. 关于Yii2中CSS,JS文件的引入心得

    js和css的引入 use yii\helpers\Html; 1.全局引入,所有的view生效 /assets/AppAsset.php public $css = [ 'css/site.css' ...

  6. js中的全局变量和静态变量的使用, js 的调试?- 如果js出错, js引擎 就会停止, 这会 导致 后面的 html中 refer 该函数时, 会报错 函数为定义!!

    效果里面的函数, 如show, hide,slideDown等, 这些都叫 "效果"函数, 但是里面可以包含动画, 也可以 不包含动画. 动画,是指 元素 的内容 是 逐渐 显示/ ...

  7. js&jquery验证邮箱和手机号是否正确范例

    实现源码: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ...

  8. 用js实现导航菜单点击切换选中时高亮状态

    随着用户点击导航或菜单上不同的页面,出现此选项高亮显示或变为一个新的样式是经常用到的.实现它所用的原理就是通过js中的location.href得到当前页面的地址,然后在与导航上的链接地址匹对,相同的 ...

  9. 合并js文件minify实例

    将min目录放入项目中后,js中引入方式是: <script type="text/javascript" src="__PUBLIC__/min/?b=publi ...

随机推荐

  1. pywinauto教程2

    一.环境安装 1.命令行安装方法 pip install pywinauto==0.6.7 2.手动安装方法 安装包下载链接:pyWin32: python调用windows api的库https:/ ...

  2. Web端即时通讯基础知识补课:一文搞懂跨域的所有问题!

    本文原作者: Wizey,作者博客:http://wenshixin.gitee.io,即时通讯网收录时有改动,感谢原作者的无私分享. 1.引言 典型的Web端即时通讯技术应用场景,主要有以下两种形式 ...

  3. Java中的Object类的几个方法

    Object类被称为上帝类,也被称为祖宗类.在定义Java类时,如果没有指定父类,那么默认都会去继承Object类.配合Java的向上类型转换,借助Object类就可以完成很多工作了. 在Object ...

  4. Mysql相关问题-----1045 Access denied for user 'root'@'localhost' (using password: YES)报错

    MySQL 连接错误,使用Navicat连接MySQL出现错误:1045 Access denied for user 'root'@'localhost' (using password: YES) ...

  5. Entity Framework Core 练习参考

    项目地址:https://gitee.com/dhclly/IceDog.EFCore 项目介绍 对 Microsoft EntityFramework Core 框架的练习测试 参考文档教程 官方文 ...

  6. 解决java,C#,php,python MD5加密不一致问题

    JAVA写法 public static String md5Base64(final String str, final String key) throws Exception { if ((nu ...

  7. 使用jstack排查多线程死锁、阻塞

    问题: 针对线上多线程死锁.阻塞,跑着跑着就卡住了 查看线上线程池的状态 jstack用于生成java虚拟机当前时刻的线程快照. 线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成 ...

  8. css隐藏页面元素的方法

    用css隐藏页面元素有许多种方法. 第一种方法[opacity: 0;] opacity属性通常用于设置一个元素的透明度,从另一个角度来看,如果透明度为0,也就从视觉上隐藏了该元素. 这个属性不是为改 ...

  9. asp.net实现页面跳转后不可以返回

    window.history.go(0); Response.Write("<script> window.history.go(0);alert('恭喜user注册成功!!!\ ...

  10. 五分钟看懂UML类图与类的关系详解

    在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(Dependency)和关联(Association).其中关联又分为 ...