前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我用ChatGPT写代码之字符统计工具

我用ChatGPT写代码之字符统计工具

原创
作者头像
半夜喝可乐
发布2023-08-27 03:22:31
2070
发布2023-08-27 03:22:31
举报
文章被收录于专栏:小轻论坛小轻论坛

想自己原创一些小工具,便于日常工作需求,所以这款字符统计工具就诞生了,希望大家喜欢!

最终界面
最终界面

这段代码实现了一个字符统计工具,可以统计输入段落中的总字符数、汉字字符数、英文字符数和符号数。

以下是对这个工具的介绍:

该工具使用 PHP 和 JavaScript 实现,前端使用了 Bootstrap 框架来创建用户界面。

用户在输入框中输入段落后,点击"统计"按钮,JavaScript 代码会使用 AJAX 技术将输入内容发送到后端进行处理。

后端 PHP 代码首先检查请求的方法是否为 POST,然后获取用户输入的内容。接下来,它使用正则表达式来统计总字符数、汉字字符数、英文字符数和符号数。

统计结果被存储在一个关联数组 `$result` 中,并使用 `json_encode()` 函数将结果转换为 JSON 格式。

返回的 JSON 数据通过 AJAX 请求的成功回调函数处理,JavaScript 代码将结果显示在网页上的相应表格单元格中。

用户界面使用了 Bootstrap 的网格系统,使表单和结果容器在不同设备上呈现出良好的自适应布局。

此工具可以帮助用户快速统计输入段落中的字符信息,对于文本处理和数据分析非常有用。

请注意,为了使该工具正常工作,你需要在服务器上运行支持 PHP 的环境,并确保代码中的依赖库(如 Bootstrap 和 jQuery)可以正确加载。

完整代码如下:

代码语言:javascript
复制
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $content = $_POST['content'];
    
    $totalCharCount = mb_strlen($content); // 总字符数
    $chineseCharCount = preg_match_all("/[\x{4e00}-\x{9fa5}]/u", $content); // 汉字字符数
    $englishCharCount = preg_match_all("/[a-zA-Z]/", $content); // 英文字符数
    $symbolCount = preg_match_all("/[^\w\s]/", $content); // 符号数
    
    $result = [
        'totalCharCount' => $totalCharCount,
        'chineseCharCount' => $chineseCharCount,
        'englishCharCount' => $englishCharCount,
        'symbolCount' => $symbolCount
    ];
    
    echo json_encode($result);
    exit;
}
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>小轻字符统计工具</title>
    <meta name="description" content="这是一个字符统计工具,可帮助您统计输入段落中的字符信息。">
    <meta name="keywords" content="字符统计,字符统计工具,字数统计,统计字数,统计工具,小轻原创">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.0/css/bootstrap.min.css">
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-md-6 offset-md-3">
            <form action="" method="post">
                <div class="form-group">
                    <h2 for="content" class="mt-5 mb-3">字符统计工具</h2>
                    <p class="mt-4">这是一个字符统计工具,它可以帮助您统计输入段落中的字符信息。您只需在输入框中输入段落,然后点击"统计"按钮,即可获取以下统计结果:</p>
                    <ul>
                        <li>总字符数:输入段落中的字符总数。</li>
                        <li>汉字字符数:输入段落中的汉字字符数。</li>
                        <li>英文字符数:输入段落中的英文字符数。</li>
                        <li>符号数:输入段落中的符号数。</li>
                    </ul>
                    <textarea class="form-control" id="content" name="content" rows="10" placeholder="请输入段落"></textarea>
                </div>
                <button type="submit" class="btn btn-primary mt-3">统计</button>
            </form>
            <div id="result" style="display: none;">
                <table class="table mt-4">
                    <thead>
                        <tr>
                            <th>统计项</th>
                            <th>数量</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>总字符数</td>
                            <td id="totalCharCount"></td>
                        </tr>
                        <tr>
                            <td>汉字字符数</td>
                            <td id="chineseCharCount"></td>
                        </tr>
                        <tr>
                            <td>英文字符数</td>
                            <td id="englishCharCount"></td>
                        </tr>
                        <tr>
                            <td>符号数</td>
                            <td id="symbolCount"></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>
<footer class="footer mt-3">
    <div class="container">
        <p class="text-center">&copy; 2023 <a href="http://yizw.cn" target="_blank">网络工具箱</a>. All rights reserved.</p>
    </div>
</footer>
<script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        $('form').submit(function (event) {
            event.preventDefault();
            var content = $('#content').val();
            
            // 发送 AJAX 请求到后端处理数据
            $.ajax({
                url: '',
                type: 'POST',
                data: {content: content},
                dataType: 'json',
                success: function (result) {
                    // 显示计算结果
                    $('#totalCharCount').text(result.totalCharCount);
                    $('#chineseCharCount').text(result.chineseCharCount);
                    $('#englishCharCount').text(result.englishCharCount);
                    $('#symbolCount').text(result.symbolCount);
                    $('#result').show();
                }
            });
        });
    });
</script>
</body>
</html>

效果预览:http://yizw.cn/tools/word.php

被收录在网络工具箱 - 实用工具导航

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档