<#def title = "全局定义"/> <#def keyword = "ZhiqimUI"/> <#def desc = "凡狐JS统一命名空间为“F”,同时“F”也是window下全局函数,如果“F”有定义冲突请使用全称“zhiqim”。在全局“F”命名空间下定义的全局属性、全局函数、全局正则表达式和全局类。"/> <#def prevUrl = "../css/block.htm"/> <#def nextUrl = "static.htm"/> ${zhiqim_com_head()} ${zhiqim_com_head_main()} ${zhiqim_com_head_end()} ${zhiqim_com_mobileUI_scrollJs()} ${zhiqim_com_body()} ${zhiqim_com_topnav("ui")}
${zhiqim_com_container_ui("ZmUI", "js", "js")}
${zhiqim_com_breadcrumb("UI", "ZmUI", "全局JS定义", "全局定义")}
<#-- 标题 -->

全局定义:

凡狐JS统一命名空间为“F”,同时“F”也是window下全局函数,如果“F”有定义冲突请使用全称“zhiqim”。在全局“F”命名空间下定义的全局属性、全局函数、全局正则表达式和全局类。

<#-- 全局属性定义 -->
全局属性定义
属性 说明
Z.v 1.2.2 ZhiqimJS的基线版本号
Z.u undefinded undefinded的简写,如if (abc == Z.u)来判断是不是未定义
Z.d document document的简写
Z.n navigator navigator的简写
Z.l location location的简写
Z.ua userAgent.toLowerCase() userAgent的小写简写
<#-- 全局函数定义 -->
全局函数定义
函数 说明 参数 参数说明
Z.eval(expression) 执行表达式语句 expression 表达式字符串,如:var abc = "abc";
Z.alert(text, callback) 弹出警告对话框 text 警告文本,链接暂不支持
callback 回调函数,点击确定后回调
Z.confirm(text, callback, param) 弹出询问对话框 text 询问文本,链接暂不支持
callback 回调函数,点击确定后回调,点击取消不处理
param 设置参数,支持参数有{height: 50}
Z.prompt(text, value, callback, param) 弹出修改对话框 text 修改说明,链接暂不支持
value 修改的值
callback 回调函数,点击确定后回调
param 设置参数
Z.bind(f, $this) 返回一个新的函数,使得原函数this指向$this对象下执行 f 原函数
$this 指向$this对象
Z.each(object, callback) 减化循环处理,默认this绑定到item上 object 对象
callback 回调函数
Z.eachof($this, object, callback) 减化循环处理,支持对字符串,数字,类数组和纯对象处理,=true表示中途退出循环,默认this绑定到传入的$this上,如果未传则绑定到item上
另外支持除$this,object,callback之外的参数也会出现在回调函数中
$this 回调函数指针
object 循环处理对象
callback 回调函数
Z.clone(obj) 克隆一个新值 obj 对象
Z.onload(f) 初始化后加载 f 对象
Z.random(length, type) 随机生成一定长度的字符或数字 length 长度
type 类型表名生成的随机字符串是字母数字(0或undefinde),数字(1),字母(2),大写字母(3),小写字母(4),大写字母和数字(5),小写字母和数字(6)
Z.timer(speed, times, $this, process, complete) 定时任务 speed 速度,单位毫秒,如50
times 执行次数,-1表示一直运行
$this 回调函数时的this
process 运行时回调函数
complete 完成时回调函数
Z.drag(elem, param, callback, $this) 拖拽或滑动 elem 属性
param 拖放参数,如果为字符串或node表示拖放对象
callback 回调函数
$this 回调函数时的this
Z.dragInParent(elem, drag, parent, callback, $this) 拖拽或滑动 elem 属性
drag 拖放对象
parent 拖放对象的父对象
callback 回调函数
$this 回调函数时的this
<#-- 全局正则表达式定义 -->
全局正则表达式定义(统一定义在Z.R中)
正则表达式 说明
空格
Z.R.SPACE 空格 /\s+/
Z.R.SPACE_LEFT 左空格 /^\s+/
Z.R.SPACE_RIGHT 右空格 /\s+$/
数值型
Z.R.NUMERIC 数值型 /^\d+$/
Z.R.INTEGER 整数,支持正负数 /^(0|[\+\-]?[1-9]\d*)$/
Z.R.INTEGER_P 正整数 /^[1-9]\d*$/
Z.R.INTEGER_N_N 非负整数 /^(0|[1-9]\d*)$/
小数型
Z.R.FLOAT 浮点值,支持多位小数点 /^(0|[\+\-]?[1-9]\d*)(\.\d+)?$/
Z.R.FLOAT_N_N 非负浮点值,支持多位小数 /^(0|[1-9]\d*)(\.\d+)?$/
Z.R.AMOUNT_2R 标准元金额,支持0-2位小数 /^(0|[\+\-]?[1-9]\d*)(\.\d{1,2})?$/
Z.R.AMOUNT_2R_FIXED 固定元金额,两位小数 /^(0|[\+\-]?[1-9]\d*)(\.\d{2})$/
Z.R.AMOUNT_N_N_2R 非负标准元金额,支持0-2位小数 /^(0|[1-9]\d*)(\.\d{1,2})?$/
Z.R.AMOUNT_N_N_2R_FIXED 非负固定元金额,两位小数 /^(0|[1-9]\d*)(\.\d{2})$/
字符相关
Z.R.ALPHABAT 字母 /^[A-Za-z]+$/
Z.R.ALPHABAT_UPPER 大写字母 /^[A-Z]+$/
Z.R.ALPHABAT_LOWER 小写字母 /^[a-z]+$/
Z.R.ALPHA_LOWER_NUMERIC 小写字母或数字 /^[a-z0-9]+$/
Z.R.ALPHA_UPPER_NUMERIC 大写字母或数字 /^[A-Z0-9]+$/
Z.R.ALPHA_NUMERIC 字母或数字 /^[A-Za-z0-9]+$/
Z.R.ALPHA_NUMERIC_PA 大写小字母和数字,字母开头 /^[A-Za-z][A-Za-z0-9]*$/
Z.R.ALPHABAT_DOUBLE 双字节 /^[^x00-xff]+$/
Z.R.CHINESE 中文 /^[\u4e00-\u9fa5]+$/
Z.R.CHINESE_ALPHA_NUMERIC 中文大小写字母和数字 /^[\u4e00-\u9fa5A-Za-z0-9]+$/
日期相关
Z.R.DATE 日期 /^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))$/
Z.R.TIME 时间 /^([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$/
Z.R.DATE_TIME 日期时间 /^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))\s(([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]))$/
Z.R.DATE_TIME_MATCH 日期时间简单匹配 /^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})$/
HTML相关
Z.R.HTML 是否包含HTML /<|&#?\w+;/
Z.R.HTML_XHTML_TAG 适配HTML成XHTML标记 /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig
Z.R.HTML_TAG_NAME 查找HTML标记名称 /<([\w:]+)/
其他
Z.R.ACCOUNT 账号,要求5-25位,中文大小写字母和数字和下划线、邮件符、点号,并且不能以@._开头和结尾 /^(?!(_|@|\.))(?!.*?(_|@|\.)$)[\w@\.\u4e00-\u9fa5]{5,25}$/
Z.R.PASSWORD 密码,要求6-16位,大小写字母和.@_#$!~%符号 /^[\w@\.#$!~%]{6,16}$/
Z.R.MOBILE 手机号,支持+86 /^((\+86)|(86)|)?(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|170|18[0|1|2|3|5|6|7|8|9])\d{8}$/
Z.R.MOBILE11 11位手机号 /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|170|18[0|1|2|3|5|6|7|8|9])\d{8}$/
Z.R.IP IP地址 /^((?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])$/
Z.R.MAC MAC地址 /^[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}$/
Z.R.QQ QQ号 /^[1-9]\d{4,10}$/
Z.R.POSTAL_CODE 邮政编码 /^[1-9]\d{5}$/
Z.R.EMAIL 邮箱 /^([\w-_]+(?:\.[\w-_]+)*)@((?:[a-z0-9]+(?:-[a-zA-Z0-9]+)*)+\.[a-z]{2,6})$/
Z.R.IDCARD 身份证号 /^(\d{6})((((19|20)[0-9]{2})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))(\d{3}[0-9xX*])$/
<#-- 全局类定义 -->
全局类定义(由Z.Class.newInstance()派生的函数称为类)
属性/方法 属性/方法说明 举例
默认属性和方法
immediate 是否立即执行,默认false 在构造函数中设置,如var draggable = new Draggable({immediate:true});
set 设置属性 draggable.set(key, value);
派出的类可定义的属性
defaults 缺省字段表 defaults = {elem:null, id="123456"},
派出的类可定义的方法
init 初始化函数,无参数 init(){},
execute 执行函数,无参数 execute(){},
一、哈唏表类(Z.HashMap):
属性/方法 属性/方法说明 举例
构造函数
new 构造函数 var aMap = new Z.HashMap();
方法
put 设置值 aMap.put("abc", "ABC");
get 获取值 var value = aMap.get("abc");
remove 删除值 aMap.remove("abc");
clear 清空表 aMap.clear();
size 获取表大小 var size = aMap.size();
isEmpty 判断是否为空 var isEmpty = aMap.isEmpty();
containKey 判断KEY中是否包含值 var containKey = aMap.containKey("abc");
containValue 判断VALUE中是否包含值 var containValue = aMap.containValue("ABC");
keySet 获取KEY数组 var keys = aMap.keySet();
values 获取VALUE数组 var values = aMap.values();
二、可拖动类(Z.Draggable):
属性/函数 属性/方法说明 举例
构造函数
new 构造函数 var draggable = new Z.Draggable();
属性
elem 拖拽对象 draggable.elem = Z.D.id("drag");
drag 拖拽手把 draggable.drag = Z.D.id("drag");
param 拖拽参数(支持left,top,right,bottom,width,height其中right,bottom时width,height无效) draggable.param = {left:0,top:0,width:500;height:300};
cursor 拖拽手势,默认move draggable.cursor = "move";
callback 拖拽回调函数 draggable.callback(){};
callthis 拖拽回调函数this指针 draggable.callthis = $this;
函数
execute 执行拖拽 draggable.execute();
close 关闭拖拽 draggable.close();
${zhiqim_turorial_ZmUI_demo_start()}
ZhiqimUI.mobile
这里是内容
${zhiqim_turorial_ZmUI_demo_end()}
${zhiqim_com_chapter()}
${zhiqim_com_footer()}