You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

注册用户注册ID、注册时间显示及随机字符生成技术问询

Got it, let's break down how to add these three requested features to your login/registration sample page. I'll use JavaScript/Node.js (with a hypothetical database setup) as an example, but you can adapt the core logic to whatever tech stack you're working with:

1. Display Exact Registration Timestamp

First, you need to capture and store the user's registration time when they sign up, then format it to match your desired DD-MM-YYYY style for the profile page.

Step 1: Store the Timestamp on Registration

When a user submits their registration form, save the current date/time to your user database. Most databases support native Date types (e.g., MongoDB's Date, PostgreSQL's TIMESTAMP):

// Example registration handler (Node.js/Express)
app.post('/register', async (req, res) => {
  const { email, username, fullName } = req.body;
  
  // Capture exact registration time
  const registeredAt = new Date();
  
  // Save to database (replace with your DB logic)
  await User.create({
    email,
    username,
    fullName,
    registeredAt // Store as Date object
  });
  
  res.redirect('/welcome');
});

Step 2: Format and Display on Profile Page

When fetching the user's data for their profile, format the registeredAt date to your preferred string format:

// Example profile page data fetch
app.get('/profile', async (req, res) => {
  const user = await User.findById(req.user.id);
  
  // Format date to DD-MM-YYYY
  const formattedRegisteredDate = new Date(user.registeredAt).toLocaleDateString('en-GB', {
    day: '2-digit',
    month: '2-digit',
    year: 'numeric'
  });
  
  res.render('profile', {
    user,
    formattedRegisteredDate
  });
});

Then in your profile template (e.g., EJS/Pug):

<p>Registered date : <%= formattedRegisteredDate %></p>

2. Generate & Display 12-Digit Alphanumeric Registration ID

Create a cryptographically secure function to generate a random 12-character alphanumeric string, then store it alongside the user's data during registration.

Step 1: Generate the ID

Avoid using Math.random() for production (it's not cryptographically secure). Instead, use your language's secure random utility:

// Node.js example using crypto module
const crypto = require('crypto');

function generateRegistrationID() {
  // Generate 8 bytes of random data (64 bits)
  const buffer = crypto.randomBytes(8);
  // Convert to base64, remove special chars (+/=), and take first 12 chars
  return buffer.toString('base64').replace(/[+/=]/g, '').slice(0, 12);
}

Step 2: Store & Display

Add this ID to your user record on registration, then render it on the profile page:

// Update registration handler
app.post('/register', async (req, res) => {
  // ... existing code
  const registrationId = generateRegistrationID();
  
  await User.create({
    // ... existing fields
    registrationId
  });
});

Template display:

<p>Registration ID : <%= user.registrationId %></p>

3. Generate & Display 15 Random Characters

This is similar to the registration ID, just with a longer length. You can reuse the same logic but adjust the character count, or use a different character set if needed (e.g., include special characters).

Step 1: Generate the Random String

function generate15RandomChars() {
  // Optional: Add special chars to the set if needed
  const charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()';
  let result = '';
  // Use secure random for each character
  for (let i = 0; i < 15; i++) {
    const randomIndex = crypto.randomInt(0, charSet.length);
    result += charSet[randomIndex];
  }
  return result;
}

Step 2: Store & Display

Add this string to the user record during registration and render it on the profile:

// Update registration handler
app.post('/register', async (req, res) => {
  // ... existing code
  const random15Chars = generate15RandomChars();
  
  await User.create({
    // ... existing fields
    random15Chars
  });
});

Template display:

<p>Random 15 Characters : <%= user.random15Chars %></p>

Quick Notes

  • Database Setup: Make sure your user table/collection has fields for registeredAt, registrationId, and random15Chars to store these values.
  • Security: Always use cryptographically secure random generators for production code to avoid predictable values.
  • Formatting: Adjust the date format string to match your exact needs if DD-MM-YYYY isn't strict (e.g., add time if required later).

内容的提问来源于stack exchange,提问作者execreation

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:00:53