<input placeholder="请填写单位名称" confirm-type="search" bindinput="listenInvoiceCompanyNameInput" value="{{companyNameStr}}" placeholder-style="font-size:26rpx;color:#ddd;" bindfocus="listenInvoiceCompanyNameFocus" bindblur="listenInvoiceCompanyNameBlur" bindconfirm="searchInvoiceCompanyNameClick" cursor-spacing="80"></input> 转vue
时间: 2023-07-03 22:31:20 浏览: 87
在 Vue 中,可以使用以下代码将该输入框转换为模板语法:
```
<template>
<input
placeholder="请填写单位名称"
confirm-type="search"
:value="companyNameStr"
placeholder-style="font-size:26rpx;color:#ddd;"
@focus="listenInvoiceCompanyNameFocus"
@blur="listenInvoiceCompanyNameBlur"
@confirm="searchInvoiceCompanyNameClick"
:cursor-spacing="80"
@input="listenInvoiceCompanyNameInput"
/>
</template>
```
在 Vue 中,使用 `v-bind` 或简写 `:` 来绑定值和属性,使用 `v-on` 或简写 `@` 来绑定事件,使用 `{{ }}` 来插值。同时,需要将 `bind` 前缀移除,并使用 `:value` 来绑定输入框的值。
相关问题
<form> <div class="form-group"> <label for="current-password">当前密码</label> <input type="password" class="form-control" id="current-password" name="current-password" placeholder="请输入当前密码" required> <div class="invalid-feedback">请输入当前密码</div> </div> <div class="form-group"> <label for="new-password">新密码</label> <input type="password" class="form-control" id="new-password" name="new-password" placeholder="请输入新密码" pattern=".{6,}" title="密码长度必须大于等于6位" required> <div class="invalid-feedback">密码长度必须大于等于6位</div> </div> <div class="form-group"> <label for="confirm-password">确认密码</label> <input type="password" class="form-control" id="confirm-password" name="confirm-password" placeholder="请再次输入新密码" pattern=".{6,}" title="密码长度必须大于等于6位" required> <div class="invalid-feedback">密码长度必须大于等于6位</div> </div> <button type="submit" class="btn btn-primary">确认修改</button> </form>
这段代码是一个包含三个密码输入框的表单,分别是“当前密码”、“新密码”和“确认密码”。其中,“新密码”和“确认密码”输入框使用了`pattern`属性,规定了密码的最小长度为6位,并给出相应的提示信息。此外,“当前密码”输入框使用了`required`属性,表示该输入框必须填写才能提交表单。
如果要修改为必须有大小写字母加特殊字符组成,且不小于8位,则可以将代码修改为:
```html
<form>
<div class="form-group">
<label for="current-password">当前密码</label>
<input type="password" class="form-control" id="current-password" name="current-password" placeholder="请输入当前密码" required>
<div class="invalid-feedback">请输入当前密码</div>
</div>
<div class="form-group">
<label for="new-password">新密码</label>
<input type="password" class="form-control" id="new-password" name="new-password" placeholder="请输入新密码" required oninput="checkNewPassword()">
<span id="new-password-tip" style="color:red;"></span>
</div>
<div class="form-group">
<label for="confirm-password">确认密码</label>
<input type="password" class="form-control" id="confirm-password" name="confirm-password" placeholder="请再次输入新密码" required oninput="checkConfirmPassword()">
<span id="confirm-password-tip" style="color:red;"></span>
</div>
<button type="submit" class="btn btn-primary">确认修改</button>
</form>
<script>
function checkNewPassword() {
const password = document.getElementById('new-password').value;
const regex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]).{8,}$/;
const isValid = regex.test(password);
const tip = document.getElementById('new-password-tip');
if (isValid) {
tip.innerHTML = '';
} else {
tip.innerHTML = '密码必须包含大小写字母、数字和特殊字符,并且长度不小于8位';
}
}
function checkConfirmPassword() {
const password = document.getElementById('new-password').value;
const confirmPassword = document.getElementById('confirm-password').value;
const tip = document.getElementById('confirm-password-tip');
if (password === confirmPassword) {
tip.innerHTML = '';
} else {
tip.innerHTML = '两次输入的密码不相同';
}
}
</script>
```
这段代码与之前的代码相比,主要是对“新密码”和“确认密码”输入框的校验逻辑进行了修改。在输入框中添加了`oninput`事件,当用户输入密码时,会自动调用`checkNewPassword`和`checkConfirmPassword`函数进行校验。`checkNewPassword`函数的逻辑与前面的前端表单中的校验逻辑相同,都是使用正则表达式判断密码是否符合要求,并在提示信息中显示具体的错误信息。`checkConfirmPassword`函数则用于判断两次输入的密码是否相同,并在提示信息中显示错误信息。
这样修改后,用户必须输入符合要求的新密码才能修改密码,并且两次输入的密码必须相同才能提交表单。
<div class="container"> <div class="form-box"> <!-- 注册 --> <div class="register-box hidden"> <h1>register</h1> <input type="text" placeholder="用户名"> <input type="email" placeholder="邮箱"> <input type="password" placeholder="密码"> <input type="password" placeholder="确认密码"> <button id="registerButton">注册</button> </div> <!-- 登录 --> <div class="login-box"> <h1>login</h1> <input type="text" placeholder="用户名"> <input type="password" placeholder="密码"> <button id="loginButton">登录</button> </div> </div> <div class="con-box left"> <h1>欢迎来到<span>原神</span></h1> <p>你将在游戏中探索一个被称作「提瓦特」的<span>幻想世界。</span></p> <img src="images/paimeng_logo.jpg" alt=""> <p>已有账号</p> <button id="login">去登录</button> </div> <div class="con-box right"> <h1>欢迎来到<span>原神</span></h1> <p>你将在游戏中探索一个被称作「提瓦特」的<span>幻想世界。</span></p> <img src="images/paimeng_logo.jpg" alt=""> <p>没有账号?</p> <button id="register">去注册</button> </div> </div> 用js模拟注册 当用户正确输入后弹窗提示成功
好的,以下是可以实现该功能的 JavaScript 代码:
```javascript
// 获取注册按钮
const registerButton = document.querySelector('#registerButton');
// 注册按钮点击事件
registerButton.addEventListener('click', () => {
// 获取输入框元素
const usernameInput = document.querySelector('input[type="text"]');
const emailInput = document.querySelector('input[type="email"]');
const passwordInput = document.querySelector('input[type="password"]');
const confirmPasswordInput = document.querySelectorAll('input[type="password"]')[1];
// 获取输入框的值
const username = usernameInput.value.trim();
const email = emailInput.value.trim();
const password = passwordInput.value.trim();
const confirmPassword = confirmPasswordInput.value.trim();
// 判断输入是否符合要求
if (!username || !email || !password || !confirmPassword) {
alert('请填写完整的信息!');
return;
}
if (password !== confirmPassword) {
alert('两次输入的密码不一致!');
return;
}
// 注册成功,弹窗提示
alert('注册成功!');
});
```
使用该代码,当用户输入完整且符合要求的信息后,点击注册按钮即可弹窗提示注册成功。
阅读全文