mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-06 03:20:13 +08:00
39 lines
912 B
TypeScript
39 lines
912 B
TypeScript
export function isValidUsername(username: string): boolean {
|
|
// check if the username is between 1 and 32 characters
|
|
if (username.length > 32) {
|
|
return false
|
|
}
|
|
|
|
// Define a regular expression pattern for a valid Linux username.
|
|
const usernamePattern = /^[a-z][a-z0-9_-]*$/
|
|
|
|
// Test the username against the pattern.
|
|
if (!usernamePattern.test(username)) return false
|
|
|
|
const reservedWords = [
|
|
'root',
|
|
'admin',
|
|
'administrator',
|
|
'sysadmin',
|
|
'system',
|
|
'daemon',
|
|
'bin',
|
|
'nobody',
|
|
'nogroup',
|
|
'guest',
|
|
'user',
|
|
]
|
|
if (reservedWords.includes(username)) {
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
|
|
export function isValidEmail(email: string): boolean {
|
|
// Define a regular expression pattern for a valid email address.
|
|
const emailPattern = /^[\w-.+]+@([\w][\w-]*\.)+[\w-]{2,}$/
|
|
|
|
// Test the email against the pattern.
|
|
return emailPattern.test(email)
|
|
}
|