调整接单密码强度规则
This commit is contained in:
@@ -427,20 +427,16 @@ export default function WorkersPanel() {
|
||||
name="password"
|
||||
rules={[
|
||||
{ required: true, message: '请输入新密码' },
|
||||
{ min: 6, message: '密码至少 6 位' },
|
||||
{ min: 8, message: '密码至少 8 位' },
|
||||
{
|
||||
validator: (_, value) =>
|
||||
!value ||
|
||||
(/[A-Z]/.test(value) &&
|
||||
/[a-z]/.test(value) &&
|
||||
/\d/.test(value) &&
|
||||
/[\p{P}\p{S}]/u.test(value))
|
||||
!value || (/[a-zA-Z]/.test(value) && /\d/.test(value))
|
||||
? Promise.resolve()
|
||||
: Promise.reject(new Error('密码需包含大写字母、小写字母、数字和标点符号')),
|
||||
: Promise.reject(new Error('密码需包含英文字母和数字')),
|
||||
},
|
||||
]}
|
||||
>
|
||||
<Input.Password placeholder="至少 6 位,包含大小写、数字和标点" />
|
||||
<Input.Password placeholder="至少 8 位,包含英文和数字" />
|
||||
</Form.Item>
|
||||
</Form>
|
||||
</Modal>
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
export const WORKER_PASSWORD_MIN_LENGTH = 6
|
||||
export const WORKER_PASSWORD_MIN_LENGTH = 8
|
||||
|
||||
export const WORKER_PASSWORD_RULE_MESSAGE =
|
||||
'密码至少 6 位,且必须包含大写字母、小写字母、数字和标点符号'
|
||||
export const WORKER_PASSWORD_RULE_MESSAGE = '密码至少 8 位,且必须包含英文字母和数字'
|
||||
|
||||
export function isWorkerPasswordStrong(value: unknown): boolean {
|
||||
const password = String(value || '')
|
||||
return (
|
||||
password.length >= WORKER_PASSWORD_MIN_LENGTH &&
|
||||
/[A-Z]/.test(password) &&
|
||||
/[a-z]/.test(password) &&
|
||||
/\d/.test(password) &&
|
||||
/[\p{P}\p{S}]/u.test(password)
|
||||
/[a-zA-Z]/.test(password) &&
|
||||
/\d/.test(password)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import test from 'node:test'
|
||||
|
||||
import { isWorkerPasswordStrong } from '../src/utils/worker-password.ts'
|
||||
|
||||
test('接单密码至少八位且必须包含英文字母和数字', () => {
|
||||
assert.equal(isWorkerPasswordStrong('abc12345'), true)
|
||||
assert.equal(isWorkerPasswordStrong('ABC12345'), true)
|
||||
assert.equal(isWorkerPasswordStrong('12345678'), false)
|
||||
assert.equal(isWorkerPasswordStrong('abcdefgh'), false)
|
||||
assert.equal(isWorkerPasswordStrong('abc1234'), false)
|
||||
})
|
||||
Reference in New Issue
Block a user