达不溜 发表于 2022-3-14 15:10:15

电话号码验证小程序设计

这个电话号码的约束条件怎么设计呀?{:10_266:}

人造人 发表于 2022-3-14 15:10:16

上面的正则表达式不对
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<script>
var str = "1234-12345678";
var patt1 = /^(\d{4}-)?\d{8}$/;
document.write(str.match(patt1));
</script>
        <br>
<script>
var str = "123-12345678";
var patt1 = /^(\d{4}-)?\d{8}$/;
document.write(str.match(patt1));
</script>
        <br>
<script>
var str = "-12345678";
var patt1 = /^(\d{4}-)?\d{8}$/;
document.write(str.match(patt1));
</script>
        <br>
<script>
var str = "012345678";
var patt1 = /^(\d{4}-)?\d{8}$/;
document.write(str.match(patt1));
</script>
        <br>
<script>
var str = "0-12345678";
var patt1 = /^(\d{4}-)?\d{8}$/;
document.write(str.match(patt1));
</script>
        <br>
<script>
var str = "12345678";
var patt1 = /^(\d{4}-)?\d{8}$/;
document.write(str.match(patt1));
</script>
        <br>
<script>
var str = "12345678-";
var patt1 = /^(\d{4}-)?\d{8}$/;
document.write(str.match(patt1));
</script>
        <br>
<script>
var str = "1234567a";
var patt1 = /^(\d{4}-)?\d{8}$/;
document.write(str.match(patt1));
</script>
</body>
</html>

1234-12345678,1234-
null
null
null
null
12345678,
null
null

wp231957 发表于 2022-3-14 16:42:20

就按照他的要求整呗

ckblt 发表于 2022-3-14 18:27:49

可以用正则表达式

_帅 发表于 2022-3-15 20:13:15

indexOf方法来判断有没有连接符 phone.indexOf('-'),如果结果大于-1则表示有连接符 '-' ,
之后用phone.split('-'),拆成一个数组,用正则判断数组第0项是不是对应区号是不是数字等等

PS:验证座机没搞过, 不过我想你拿到的带区号的电话号码怎么可能是数字类型的?

人造人 发表于 2022-3-15 20:54:54

用正则表达式
不会web,python写的正则表达式
#!/usr/bin/env python
#coding=utf-8

import re

pattern = r'(\d{4}-)?\d{8}'
print(re.fullmatch(pattern, input()))

人造人 发表于 2022-3-15 21:04:26

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<script>
var str = "1234-12345678";
var patt1 = /(\d{4}-)?\d{8}/;
document.write(str.match(patt1));
</script>
        <br>
<script>
var str = "1234-1234567";
var patt1 = /(\d{4}-)?\d{8}/;
document.write(str.match(patt1));
</script>
        <br>
<script>
var str = "1234-1234567a";
var patt1 = /(\d{4}-)?\d{8}/;
document.write(str.match(patt1));
</script>

</body>
</html>

达不溜 发表于 2022-3-16 20:18:24

人造人 发表于 2022-3-15 21:04


谢谢了,搞出来了{:10_281:}
页: [1]
查看完整版本: 电话号码验证小程序设计