PHP 后台配置规范

// 表单
// 输入框 'type' => 'input'
// 'maxlength' => 20 最大输入字符个数20
['field' => 'code', 'title' => '员工编号', 'type' => 'input', 'maxlength' => 20]

if(isempty($search, 'pantou_code')) // like 搜索
  $o->whereLike('a.pantou_code' , "%{$search['pantou_code']}%");
if(isempty($search, 'create_time')) { // 时间段内
  $date = $search['create_time'];
  $date[1] = date('Y-m-d H:i:s', strtotime($date[1].' 00:00:00')+86399);
  $o->whereTime('a.create_time', 'between', [$date[0].' 00:00:00', $date[1]]);
}

python中删除某个元素的3种方法

1.remove: 删除单个元素,删除首个符合条件的元素,按值删除
举例说明:
>>> str=[1,2,3,4,5,2,6]
>>> str.remove(2)
>>> str
[1, 3, 4, 5, 2, 6]

2.pop:  删除单个或多个元素,按位删除(根据索引删除)
>>> str=[0,1,2,3,4,5,6]
>>> str.pop(1)   #pop删除时会返回被删除的元素
1
>>> str
[0, 2, 3, 4, 5, 6]
>>> str2=['abc','bcd','dce']
>>> str2.pop(2)
'dce'
>>> str2
['abc', 'bcd']

3.del:它是根据索引(元素所在位置)来删除
举例说明:
>>> str=[1,2,3,4,5,2,6]
>>> del str[1]
>>> str
[1, 3, 4, 5, 2, 6]
>>> str2=['abc','bcd','dce']
>>> del str2[1]
>>> str2
['abc', 'dce']

除此之外,del还可以删除指定范围内的值。
>>> str=[0,1,2,3,4,5,6]
>>> del str[2:4]  #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素)
>>> str
[0, 1, 4, 5, 6]

del 也可以删除整个数据对象(列表、集合等)
>>> str=[0,1,2,3,4,5,6]
>>> del str
>>> str         #删除后,找不到对象

Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    str
NameError: name 'str' is not defined

注意:del是删除引用(变量)而不是删除对象(数据),对象由自动垃圾回收机制(GC)删除。

补充: 删除元素的变相方法
s1=(1,2,3,4,5,6)
s2=(2,3,5)
s3=[]
for i in s1:
if i not in s2:
    s3.append(i)
print 's1-1:',s1
s1=s3
print 's2:',s2
print 's3:',s3
print 's1-2:',s1

Python 时间格式化

# strftime()方法语法:
time.strftime(format[, t])
# 参数
# format -- 格式字符串。
# t -- 可选的参数t是一个struct_time对象。
"""
python中时间日期格式化符号:

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
"""

Python函数

# 列表
# 查找元素在列表中位置
p=list.index(value) # list为列表的名字 value为查找的值 p为value在list的位置

# Python中bytes与字符串的相互转化
# bytes转字符串方式一
b=b'\xe9\x80\x86\xe7\x81\xab'
string=str(b,'utf-8')
print(string)

# bytes转字符串方式二
b=b'\xe9\x80\x86\xe7\x81\xab'
string=b.decode() # 第一参数默认utf8,第二参数默认strict
print(string)

# bytes转字符串方式三
b=b'\xe9\x80\x86\xe7\x81haha\xab'
string=b.decode('utf-8','ignore') # 忽略非法字符,用strict会抛出异常
print(string)

# bytes转字符串方式四
b=b'\xe9\x80\x86\xe7\x81haha\xab'
string=b.decode('utf-8','replace') # 用?取代非法字符
print(string)

# 字符串转bytes方式一
str1='逆火'
b=bytes(str1, encoding='utf-8')
print(b)

# 字符串转bytes方式二
b=str1.encode('utf-8')
print(b)

# python3 字典、列表、数组和字符串之间的相互转化
# 字典
dict_1 = {'1': 'a', '2': 'b', '3': 'c'}
print(dict_1)  # 打印字典
print(type(dict_1))  # 打印新赋值的字典的类型

print(str(dict_1), end='字符串\n')  # 把字典转化成字符串后打印

print(tuple(dict_1), end='元组\n')  # 把字典转化为元组后打印

print(list(dict_1), end='列表\n')  # 把字典转化为列表后打印

# 元组
tuple_1 = (1, 2, 3, 4, 5)
print(tuple_1)  # 打印元组
print(type(tuple_1))  # 打印新赋值的元祖的类型

print(str(tuple_1), end='字符串\n')  # 把元组转化成字符串后打印

print(list(tuple_1), end='列表\n')  # 把元组转化为列表后打印

# 元组不可转化为字典

#列表
list_1 = [1, 2, 3, 4, 5]
print(list_1)  # 打印列表
print(type(list_1))  # 打印新赋值的列表的类型

print(str(list_1), end='字符串\n')  # 把列表转化成字符串后打印

print(tuple(list_1), end='元组\n')  # 把列表转化为元组后打印

#字符串
string_1 = '(1, 2, 3, 4, 5)'
print(string_1)  # 打印字符串
print(type(string_1))  # 打印新赋值的字符串

print(tuple(eval(string_1)), end='元组\n')  # 把字符串转化成元组后输出

print(list(eval(string_1)), end='列表\n')  # 把字符串转化成列表后输出

# 只有特殊字符串才能转化为字典
string_2 = '{"name":"tom","age":6}'
print(string_2)  # 打印新赋值的字符串
print(type(string_2))  # 打印新赋值的字符串的类型

print(eval(string_2), end='字典\n')  # 把字符串转化为字典后打印


JavaScript 正则表达式

/*是否带有小数*/
function    isDecimal(strValue )  {  
   var  objRegExp= /^\d+\.\d+$/;
   return  objRegExp.test(strValue);  
}  

/*校验是否中文名称组成 */
function ischina(str) {
    var reg=/^[\u4E00-\u9FA5]{2,4}$/;   /*定义验证表达式*/
    return reg.test(str);     /*进行验证*/
}

/*校验是否全由8位数字组成 */
function isStudentNo(str) {
    var reg=/^[0-9]{8}$/;   /*定义验证表达式*/
    return reg.test(str);     /*进行验证*/
}

/*校验电话码格式 */
function isTelCode(str) {
    var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
    return reg.test(str);
}

/*校验邮件地址是否合法 */
function IsEmail(str) {
    var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
    return reg.test(str);
}