我无法使我的 javascript 功能发挥作用
I cant manage to put my javascript function to work
我在 api 上创建帐户并且密码需要 restrictions.The handleRegist() 正在连接到 api 但我使用的密码总是通过 [=17] =] 我正在使用一个功能来检查登录的密码强度密码必须至少包含 1 个特殊字符 1 个大写字母并且必须超过 8 个字符。
到目前为止我有这个代码:
function passwordChecker(password){
var strongPassword = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,15}$/;
if (password.value.match(strongPassword)) {
console.log("Good Password");
handleRegist();
}else
console.log("Try Again!\nnot strong enough");
}
注意:strongPassword 变量是我在互联网上找到的,我不确定该限制是否有效。
为了能够触发您需要从某个地方调用它的函数,自然地,您想在输入组件内的 onchange 事件中调用它。
<input
type="text"
onChange={(e) => passwordChecker({ value: e.target.value })}
/>
这是一个有效的 codesandbox 示例:
Working example
(从页面底部打开控制台,在输入中输入时查看结果)
注意:我在对象 {value: e.target.value}
中传递值,我这样做是因为在你的函数中你正在检查 password.value.match(strongPassword)
,它期望得到 password.value
,因此我需要将值添加到对象中并将其传递给函数。
我建议处理该值并将其存储在具有 useState 的状态中,并将该状态作为值传递给输入。
我在 api 上创建帐户并且密码需要 restrictions.The handleRegist() 正在连接到 api 但我使用的密码总是通过 [=17] =] 我正在使用一个功能来检查登录的密码强度密码必须至少包含 1 个特殊字符 1 个大写字母并且必须超过 8 个字符。 到目前为止我有这个代码:
function passwordChecker(password){
var strongPassword = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,15}$/;
if (password.value.match(strongPassword)) {
console.log("Good Password");
handleRegist();
}else
console.log("Try Again!\nnot strong enough");
}
注意:strongPassword 变量是我在互联网上找到的,我不确定该限制是否有效。
为了能够触发您需要从某个地方调用它的函数,自然地,您想在输入组件内的 onchange 事件中调用它。
<input
type="text"
onChange={(e) => passwordChecker({ value: e.target.value })}
/>
这是一个有效的 codesandbox 示例: Working example (从页面底部打开控制台,在输入中输入时查看结果)
注意:我在对象 {value: e.target.value}
中传递值,我这样做是因为在你的函数中你正在检查 password.value.match(strongPassword)
,它期望得到 password.value
,因此我需要将值添加到对象中并将其传递给函数。
我建议处理该值并将其存储在具有 useState 的状态中,并将该状态作为值传递给输入。