Closed1
passwordの正規表現
少なくとも[A-Z]を1文字以上含む書き方
const reg = ^(?=.*[A-Z])[A-Z]$
(?=.*[A-Z])
A~Zを1文字以上含む
[A-Z]
入力可能な値の範囲
文字、数字、色んな記号を含める範囲の書き方
[a-zA-Z0-9!?_+*'"`#$%&\-^\\@;:,./=~|[\](){}<>]
空白の許容
[\s]
長いとこんな感じ
const reg = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[!?_+*'"`#$%&\-^\\@;:,./=~|[\](){}<>])[a-zA-Z0-9!?_+*'"`#$%&\-^\\@;:,./=~|[\](){}<>]+$/
vee-validateライブラリでルールを規定する場合
import { extend } from 'vee-validate'
const password = {
validate(value: string) {
const reg = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[!?_+*'"`#$%&\-^\\@;:,./=~|[\](){}<>])[a-zA-Z0-9!?_+*'"`#$%&\-^\\@;:,./=~|[\](){}<>]+$/
return reg.test(value)
},
message: '英小文字、英大文字、数字、記号の組み合わせで入力してください。',
}
extend('password', password)
vueでの適用例
<ValidationProvider
v-slot="{ errors }"
rules="required|password|min:8|max:99"
>
<v-text-field
v-model="password"
type="password"
label="パスワード"
:error-messages="errors"
/>
</ValidationProvider>
このスクラップは2023/02/14にクローズされました