jquery 判断email地址是否合法并保存

本文介绍了一个使用jQuery实现的邮箱格式验证及保存功能。通过正则表达式检查输入的邮箱是否符合标准格式,并利用Ajax向服务器发送POST请求来保存邮箱。根据不同返回值提示用户保存状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源码

知识点主要就是那串正则~

$(function(){
    $("#save").on("click",function(){
        var email=$("#email").val();
        var e=/^([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
        if(email.match(e)){
            $.ajax({
                'url':"/user/saveEmail",
                'data':{
                        'email':email
                        },
                'type':'post',
                'success':function(data){
                        if(data == '1'){
                            alert("保存成功");
                            location.reload();
                        }else if(data == '2'){
                            alert('该邮箱已注册');
                        }else if(data == '3'){
                            alert("保存失败");
                            location.reload();
                        }
                    }
            });
        }else{
            alert("不满足邮箱格式");
        }
    });
});
使用多线程实现一个简单的web server(端口80)承载附件的web, 现有的代码如下:请看看是否需要修改代码 C语言 #ifndef TOOL_H #define TOOL_H #include <sys/socket.h> #include <netinet/in.h> #include <pthread.h> #define MAX_CLIENTS 10 #define BUFFER_SIZE 1024 #define WEB_ROOT “web_root/” // 初始化服务器套接字 int init_server_socket(int port); // 处理客户端请求 void handle_client(int client_socket); // 发送HTTP响应头 void send_http_header(int client_socket, int status_code, const char* content_type, long content_length); // 发送文件内容 void send_file(int client_socket, const char* filename); // 发送404错误 void send_404(int client_socket); #endif #include “tool.h” #include <stdio.h> #include <pthread.h> // 使用 POSIX 线程库 #include <stdlib.h> #define MAX_CLIENTS 10 /** 定义最大客户端连接数,虽然本代码中未使用,但可作为预留常量 */ // 用于传递给线程的参数 typedef struct { int client_socket; /** 存储客户端 socket 文件描述符 */ } thread_data_t; // 线程处理函数 void* client_handler(void* arg) { // 将传入的参数转换为 thread_data_t 类型 thread_data_t* data = (thread_data_t*)arg; int client_socket = data->client_socket; /** 获取客户端 socket 描述符 / free(data); /* 线程处理完成后释放传入参数的内存,避免内存泄漏 */ // 调用 handle_client 函数处理客户端请求 handle_client(client_socket); close(client_socket); /** 关闭客户端连接 */ pthread_detach(pthread_self()); /** 将线程设置为分离状态,线程结束时自动释放资源 */ return NULL; /** 线程函数返回 NULL 表示正常结束 */ } int main() { // 初始化服务器 socket,监听端口 80(HTTP 默认端口) int server_fd = init_server_socket(80); printf(“Server running on port 80…\n”); /** 提示服务器已启动监听端口 80 */ while (1) { /** 无限循环等待客户端连接 */ struct sockaddr_in address; /** 用于存储客户端地址信息 */ socklen_t addrlen = sizeof(address); /** 地址结构体长度 */ // 接受一个新的客户端连接,返回客户端 socket 描述符 int client_socket = accept(server_fd, (struct sockaddr *)&address, &addrlen); if (client_socket < 0) { /** 如果 accept 出错,打印错误信息继续等待 */ perror("accept"); continue; } // 为每个客户端创建一个线程 pthread_t tid; /** 线程 ID */ thread_data_t* data = (thread_data_t*)malloc(sizeof(thread_data_t)); /** 动态分配线程参数内存 */ data->client_socket = client_socket; /** 将客户端 socket 保存到参数结构体中 */ // 创建线程执行 client_handler 函数 if (pthread_create(&tid, NULL, client_handler, (void*)data) != 0) { perror("pthread_create"); /** 如果线程创建失败,打印错误信息 */ close(client_socket); /** 关闭客户端 socket */ free(data); /** 释放之前分配的参数内存 */ } } close(server_fd); /** 关闭服务器 socket(实际上不会执行,因为前面是无限循环) */ return 0; /** 程序正常退出 */ } 目的是实现contact的消息发送: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>Contact</title> <link rel="stylesheet" type="text/css" href="css/style_mobile.css"> <script language="javascript" type="text/javascript" src="js/jquery-1.9.1.min.js"></script> <script language="javascript" type="text/javascript" src="js/action.js"></script> </head> <body> <div id="container"> <div id="header"> <div id="logo">David Lanham</div> <ul> <li><a href="Index.html">Blog</a></li> <li><a href="Work.html">Work</a></li> <li><a href="About.html">About</a></li> <li><a class="active" href="Contact.html">Contact</a></li> </ul> </div> <div id="content"> <p class="content_text">Contact</p> <div id="from"> <tr><p class="font">Name<font color="#FF0000">*</font></p></tr> <tr><input class="input" type="text" name="name" id="name" ></tr> <tr> <p class="font">Email<font color="#FF0000">*</font></p></tr> <tr><input class="input" type="text" name="email" id="email"></tr> <tr> <p class="font">Message<font color="#FF0000">*</font></p></tr> <tr><textarea class="msginput" type="text" name="message" id="message"></textarea></tr> <tr><input class="button" type="button" value="SUBMIT" id="button"></tr> </div> </div> <div id="footer"> <div id="fttext"> <p>All illustrations on this site are from the very talented</p> <p> illustrator and designer David Lanham. Make sure to</p> <p>check out his work at <a href="#">DavidLanham.com.</a></p> </div> <div id="ftimage"> <a href="#"><img src="images/footer_baby.png"></a> </div> <div id="ft_text"> <p class="ftname">David Lanham</p> <p class="ftabout">I create beatufiul illustrations and designs.<a href="#">About me.</a></p> </div> <ul> <li><a href="#"><img src="images/footer_bird.png"></a></li> <li><a href="#"><img src="images/footer_ball.png"></a></li> <li><a href="#"><img src="images/footer_be.png"></a></li> <li><a href="#"><img src="images/footer_@.png"></a></li> <li><a href="#"><img src="images/footer_message.png"></a></li> </ul> </div> </div> </body> </html> 有这样的目录结构: web_root │ ├── About.html │ ├── Contact.html │ ├── css │ │ ├── reset.css │ │ ├── style.css │ │ └── style_mobile.css │ ├── data │ │ └── contact.json │ ├── images │ │ ├── About_baby.png │ │ ├── About_ball.png │ │ ├── About_be.png │ │ ├── About_bird.png │ │ ├── About_content.png │ │ ├── About_message.png │ │ ├── About_@.png │ │ ├── body.png │ │ ├── footer_baby.png │ │ ├── footer_ball.png │ │ ├── footer_be.png │ │ ├── footer_bird.png │ │ ├── footer_message.png │ │ ├── footer.png │ │ ├── footer_@.png │ │ ├── header.png │ │ └── Thumbs.db │ ├── img │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ └── Thumbs.db │ ├── Index.html │ ├── js │ │ ├── action.js │ │ └── jquery-1.9.1.min.js │ └── Work.html
最新发布
08-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值