${zhiqim_com_breadcrumb("文库", "教程", "全局js定义")}
<#-- 标题 -->
全局定义:
知启蒙JS统一命名空间为“Z”,同时“Z”也是window下全局函数,如果“Z”有定义冲突请使用全称“zhiqim”。在全局“Z”命名空间下定义的全局属性、全局函数、全局正则表达式和全局类。
<#-- 全局属性定义 -->
全局属性定义
| 属性 |
值 |
说明 |
| 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(){}, |
| 属性/方法 |
属性/方法说明 |
举例 |
| 构造函数 |
| 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(); |
| 属性/函数 |
属性/方法说明 |
举例 |
| 构造函数 |
| 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_com_chapter()}