• 无聊却常用的代码生成(简单窗体验证)


    # -*- 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])

    结果:
    >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
  • 相关阅读:
    01背包
    manacher马拉车算法
    盒子放球的DP
    Children’s Queue
    抽象类_作为接口
    斯特林数
    欧拉路HDU3018
    2019 SDN上机第三次作业
    第05组 Alpha冲刺(2/4)
    Alpha冲刺(1/4)
  • 原文地址:https://www.cnblogs.com/RChen/p/468674.html
Copyright © 2020-2023  润新知