无聊却常用的代码生成(简单窗体验证)
# -*- coding: gbk -*-
fields = [
['linkman', '姓名'],
['address', '家庭住址'],
['zip', '邮编'],
['email', '电子邮件'],
['phoneHome', '家庭电话'],
['phoneMobile', '移动电话']
]
print """form validation:
---------------------------------------------------------"""
print """
String.prototype.trim = function() {
return this.replace(/^(\s+)|(\s+)$/g, '');
}
"""
template = """
var obj_%s = document.all('%s');
if (obj_%s.value.trim() == '') {
alert('请输入%s');
obj_%s.focus();
return false;
}
"""
print "function checkForm() {"
for x in fields:
print template % (x[0], x[0], x[0], x[1], x[0])
if x[0] == 'email':
print """
if (obj_email.value.trim().match(/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/) == null) {
alert('请输入正确的电子邮件');
obj_email.focus();
return false;
}
"""
print """
return true;
}
"""
print """// php:
------------------------------------------------------------""";
for x in fields:
print "$%s = addslashes($_POST['%s']);" % (x[0], x[0])
fields = [
['linkman', '姓名'],
['address', '家庭住址'],
['zip', '邮编'],
['email', '电子邮件'],
['phoneHome', '家庭电话'],
['phoneMobile', '移动电话']
]
print """form validation:
---------------------------------------------------------"""
print """
String.prototype.trim = function() {
return this.replace(/^(\s+)|(\s+)$/g, '');
}
"""
template = """
var obj_%s = document.all('%s');
if (obj_%s.value.trim() == '') {
alert('请输入%s');
obj_%s.focus();
return false;
}
"""
print "function checkForm() {"
for x in fields:
print template % (x[0], x[0], x[0], x[1], x[0])
if x[0] == 'email':
print """
if (obj_email.value.trim().match(/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/) == null) {
alert('请输入正确的电子邮件');
obj_email.focus();
return false;
}
"""
print """
return true;
}
"""
print """// php:
------------------------------------------------------------""";
for x in fields:
print "$%s = addslashes($_POST['%s']);" % (x[0], x[0])
结果:
>pythonw -u "validate_code_generator.py"
form validation:
---------------------------------------------------------
String.prototype.trim = function() {
return this.replace(/^(\s+)|(\s+)$/g, '');
}
function checkForm() {
var obj_linkman = document.all('linkman');
if (obj_linkman.value.trim() == '') {
alert('请输入姓名');
obj_linkman.focus();
return false;
}
var obj_address = document.all('address');
if (obj_address.value.trim() == '') {
alert('请输入家庭住址');
obj_address.focus();
return false;
}
var obj_zip = document.all('zip');
if (obj_zip.value.trim() == '') {
alert('请输入邮编');
obj_zip.focus();
return false;
}
var obj_email = document.all('email');
if (obj_email.value.trim() == '') {
alert('请输入电子邮件');
obj_email.focus();
return false;
}
if (obj_email.value.trim().match(/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/) == null) {
alert('请输入正确的电子邮件');
obj_email.focus();
return false;
}
var obj_phoneHome = document.all('phoneHome');
if (obj_phoneHome.value.trim() == '') {
alert('请输入家庭电话');
obj_phoneHome.focus();
return false;
}
var obj_phoneMobile = document.all('phoneMobile');
if (obj_phoneMobile.value.trim() == '') {
alert('请输入移动电话');
obj_phoneMobile.focus();
return false;
}
return true;
}
// php:
------------------------------------------------------------
$linkman = addslashes($_POST['linkman']);
$address = addslashes($_POST['address']);
$zip = addslashes($_POST['zip']);
$email = addslashes($_POST['email']);
$phoneHome = addslashes($_POST['phoneHome']);
$phoneMobile = addslashes($_POST['phoneMobile']);
>Exit code: 0 Time: 0.219
form validation:
---------------------------------------------------------
String.prototype.trim = function() {
return this.replace(/^(\s+)|(\s+)$/g, '');
}
function checkForm() {
var obj_linkman = document.all('linkman');
if (obj_linkman.value.trim() == '') {
alert('请输入姓名');
obj_linkman.focus();
return false;
}
var obj_address = document.all('address');
if (obj_address.value.trim() == '') {
alert('请输入家庭住址');
obj_address.focus();
return false;
}
var obj_zip = document.all('zip');
if (obj_zip.value.trim() == '') {
alert('请输入邮编');
obj_zip.focus();
return false;
}
var obj_email = document.all('email');
if (obj_email.value.trim() == '') {
alert('请输入电子邮件');
obj_email.focus();
return false;
}
if (obj_email.value.trim().match(/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/) == null) {
alert('请输入正确的电子邮件');
obj_email.focus();
return false;
}
var obj_phoneHome = document.all('phoneHome');
if (obj_phoneHome.value.trim() == '') {
alert('请输入家庭电话');
obj_phoneHome.focus();
return false;
}
var obj_phoneMobile = document.all('phoneMobile');
if (obj_phoneMobile.value.trim() == '') {
alert('请输入移动电话');
obj_phoneMobile.focus();
return false;
}
return true;
}
// php:
------------------------------------------------------------
$linkman = addslashes($_POST['linkman']);
$address = addslashes($_POST['address']);
$zip = addslashes($_POST['zip']);
$email = addslashes($_POST['email']);
$phoneHome = addslashes($_POST['phoneHome']);
$phoneMobile = addslashes($_POST['phoneMobile']);
>Exit code: 0 Time: 0.219
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构