检测邮箱是否合法
def check_email(email):
import re
res = re.match(r'^[0-9a-zA-Z\_\-]+(\.[0-9a-zA-Z\_\-]+)*@[0-9a-zA-Z]+(\.[0-9a-zA-Z]+){1,}$', email)
return True if res else False
检测手机号码是否合法
def check_phone(phone):
import re
res = re.match(r'^1[3456789]\d{9}$', phone)
return True if res else False
判断手机是安卓机还是苹果机或者PC
def check_model(raw):
import re
try:
model = re.search('Android', raw)
if not model:
model = re.search('iphone', raw)
return model.group()
except :
return 'PC'
根据ip获取地理位置
def find_ip(ip):
try:
from geoip2 import database
reader = database.Reader('GeoLite2-City.mmdb')
info = reader.city(ip)
reader.close()
return info.country.names['zh-CN']
except Exception as e:
print(e)
return '未知'
检测url是否合法
def check_url(url):
import re
res = re.match(r'^[a-zA-Z]+://[^\s]*$', url)
return True if res else False
获取当前格式化时间
def get_current_time():
from datetime import datetime
return datetime.now().strftime('%Y-%m-%d %X')
获取N天前的时间
def getBeforeNdays(N=0):
from datetime import datetime, timedelta
return (datetime.now()-timedelta(days=N)).strftime('%Y-%m-%d %X')
获取客户端IP
def get_remote_ip():
import socket
ip = socket.gethostbyname(socket.gethostname())
return ip
获取客户端地理位置
def find_position_by_ip(ip):
try:
from geoip2 import database
reader = database.Reader('GeoLite2-City.mmdb')
info = reader.city(ip)
data = {
'continent': info.continent.names['zh-CN'],
'country':info.country.names['zh-CN'],
'city':info.subdivisions[0].names['zh-CN'],
'latitude':info.location.latitude,
'longitude':info.location.longitude
}
return data
except Exception as e:
print(e)
return '未知'
返回结构化数据
def ajaxReturn(info, data={}):
import json
info['data'] = data
return json.dumps(info)
MD5
def hash_md5(raw):
import hashlib
md5 = hashlib.md5()
md5.update(raw.encode())
return md5.hexdigest()
网友评论