一、正则验证用户名
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="/login" method="post">
<input type="text" name="username" placeholder="用户名">
<input type="submit" value="登录">
</form>
<script>
function validateUsername() {
var username = document.querySelector("input[name='username']").value;
// 使用正则表达式验证用户名
var reg = /^[a-zA-Z]+$/;
if (!reg.test(username)) {
alert("用户名必须是纯字母!");
document.querySelector("input[name='username']").value = "";
}
}
document.querySelector("input[name='username']").addEventListener("change", validateUsername);
</script>
</body>
</html>
运行结果
二、跨域postmessage
先配置好一个虚拟主机
然后对两个网站分别进行配置
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>2023</title>
</head>
<div>
<h1>www.dg.com</h1>
</div>
</body>
<script>
window.addEventListener('message', (event) => {
if (event.origin === 'http://www.dg2.cn') {
const cookieData = event.data;
//处理cookieData
console.log('Receive message from parent:', cookieData);
window.parent.postMessage('child message', '*');
}
})
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>iframe</title>
</head>
<body>
<iframe id="myIframe" src="http://dg.com/" frameborder="0"></iframe>
</body>
<script>
window.onload = function() {
document.cookie = 'sessionid=oupeng'
const cookieData = document.cookie
window.frames[0].postMessage(cookieData, 'http://dg.com/');
}
//添加一个监听事件处理子页面的返回消息
window.addEventListener('message', (event) => {
if(event.origin === 'http://dg.com')
console.log('Received message from child:', event.data);
})
</script>
</html>
运行结果