用前端知识写从键盘获取一个邮箱,检测是否为合法的邮箱(含"@"和"."且"@"在"."之前),如果是合法的邮箱,则输出该邮箱名(@前面部分)
时间: 2023-11-07 17:06:59 浏览: 30
这是一个前端技术的问题,可以使用正则表达式来判断输入的字符串是否符合邮箱地址的格式要求,具体实现代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>验证邮箱地址</title>
<script>
function checkEmail() {
var email = document.getElementById("email").value;
var pattern = /^[A-Za-z0-9]+@[A-Za-z0-9]+\.[A-Za-z]+$/;
if (pattern.test(email)) {
var atIndex = email.indexOf("@");
var dotIndex = email.lastIndexOf(".");
var username = email.substring(0, atIndex);
alert("邮箱名:" + username);
} else {
alert("输入的不是合法的邮箱地址!");
}
}
</script>
</head>
<body>
<label for="email">请输入邮箱地址:</label>
<input type="text" id="email" name="email">
<button onclick="checkEmail()">验证</button>
</body>
</html>
```
用户输入邮箱地址后,点击“验证”按钮就会调用`checkEmail()`函数。该函数首先获取用户输入的邮箱地址,然后使用正则表达式`/^[A-Za-z0-9]+@[A-Za-z0-9]+\.[A-Za-z]+$/`来判断邮箱地址是否符合要求,其中`^`表示字符串开头,`$`表示字符串结尾,`+`表示前面的字符出现1次或多次,`@`和`.`需要用`\`转义,意思是:以字母或数字开头,后面紧跟一个`@`,然后是字母或数字,紧跟一个`.`,最后是字母,这就是一个合法的邮箱地址。如果匹配成功,则根据`@`和`.`的位置来提取出邮箱名部分,输出到窗口;否则输出“输入的不是合法的邮箱地址!”。