写一段 js 匹配邮箱和手机号的代码
时间: 2023-09-15 10:05:59 浏览: 126
### 回答1:
以下是用 JavaScript 编写匹配邮箱和手机号的代码:
```javascript
// 匹配手机号
function isMobile(mobile) {
return /^1[3456789]\d{9}$/.test(mobile);
}
// 匹配邮箱
function isEmail(email) {
return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(email);
}
```
使用示例:
```javascript
console.log(isMobile('13912345678')); // true
console.log(isMobile('12345678900')); // false
console.log(isEmail('example@example.com')); // true
console.log(isEmail('example@com')); // false
```
以上代码中,`isMobile()` 函数用于匹配手机号,采用正则表达式匹配手机号是否符合格式要求,如果符合则返回 `true`,否则返回 `false`。同理,`isEmail()` 函数用于匹配邮箱,也采用正则表达式匹配邮箱是否符合格式要求。
### 回答2:
可以使用正则表达式来匹配邮箱和手机号。
对于匹配邮箱的代码,可以使用以下正则表达式:
```
const emailPattern = /^[a-zA-Z0-9._+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
```
这个正则表达式表示邮箱由以下部分组成:
- `[a-zA-Z0-9._+-]+`:表示由字母、数字、点号、下划线、加号和减号组成的至少一个字符。
- `@`:表示@符号。
- `[a-zA-Z0-9.-]+`:表示由字母、数字、点号和减号组成的至少一个字符。
- `\.`:表示.号,需要使用转义字符\。
- `[a-zA-Z]{2,}`:表示由字母组成的至少两个字符。
对于匹配手机号的代码,可以使用以下正则表达式:
```
const phonePattern = /^1[3456789]\d{9}$/;
```
这个正则表达式表示手机号由以下部分组成:
- `^1`:表示以1开头。
- `[3456789]`:表示第二位可以是3、4、5、6、7、8或9中的任意一个数字。
- `\d{9}`:表示后面跟着9个数字。
然后,我们可以使用`test`函数来检测一个字符串是否匹配对应的正则表达式。例如:
```
const email = 'example@test.com';
const phone = '13812345678';
if (emailPattern.test(email)) {
console.log('邮箱匹配成功');
} else {
console.log('邮箱匹配失败');
}
if (phonePattern.test(phone)) {
console.log('手机号匹配成功');
} else {
console.log('手机号匹配失败');
}
```
以上代码会输出:
```
邮箱匹配成功
手机号匹配成功
```
这样,我们就可以通过正则表达式来匹配邮箱和手机号码了。
### 回答3:
下面是使用JavaScript编写的匹配邮箱和手机号的代码:
```javascript
// 匹配手机号
function matchPhoneNumber(phoneNumber) {
var regExp = /^1[3456789]\d{9}$/;
return regExp.test(phoneNumber);
}
// 匹配邮箱
function matchEmail(email) {
var regExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
return regExp.test(email);
}
// 测试手机号匹配
console.log(matchPhoneNumber('13812345678')); // 输出 true
console.log(matchPhoneNumber('12345678901')); // 输出 false
// 测试邮箱匹配
console.log(matchEmail('example@example.com')); // 输出 true
console.log(matchEmail('example.com')); // 输出 false
```
以上代码定义了两个函数`matchPhoneNumber`和`matchEmail`用于匹配手机号和邮箱。它们分别使用了正则表达式来进行匹配,当匹配成功时返回`true`,匹配失败时返回`false`。
在说明这两个函数中,手机号的正则表达式`/^1[3456789]\d{9}$/`用于匹配11位数字,以1开头,第二位数字在3-9之间。而邮箱的正则表达式`/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/`则是一个比较常用的邮箱匹配规则。
最后,我们通过调用`console.log`来测试这两个函数的匹配结果。
阅读全文