js 如何随机生成手机号码?

JavaScript019

js 如何随机生成手机号码?,第1张

第一为是1

第2、3位你需要根据实际情况自己修改一下代码(第二位貌似只有3458这四个数)

parseInt(Math.random()*10)%4

上一句代表从0~3的随机整数,你可以把4根据实际改成相应值

还可以用一个数组代表第2、3位,将2、3位可能的值写到数组中去,然后用类似上面的语句随机从数组中取出一个两位数,对于现在的号码,不太了解哪些号段已分配,只能给个参考(31,32,33,34,35,36,37,38,39,47,5x,82,83,87,88,89)

后8位可以用parseInt(Math.random()*10000000)生成0~99999999

但还要判断一下是否位数满足8位,即是否大于10000000,不大于的话你可以在前面或后面补零

这是最简单的一种思路,你可以先试一下

<html>

<body>

<script type="text/javascript">

function getPhone_no(){

var phone_no = "1"

do{

var second = Math.floor(Math.random()*10)

}while(second !=3&&second !=5&&second !=8&&second !=9)

phone_no += second

for(var i=0i<9i++){

phone_no+= Math.floor(Math.random()*10)

}

alert(phone_no)

}

</script>

<input type="button" value="随机取得手机号" onclick="getPhone_no()">

</body>

</html>

手机号的正则表达式为“^1(3|4|5|7|8)\d{9}$”,解释如下

“^1”表示以1开头,“(3|4|5|7|8)”表示第二位可能是3/4/5/7/8等的任意一个,在加上后面的\d表示数字[0-9]的9位,总共加起来11位结束。

代码如下:

function checkPhone(){

var phone = document.getElementById('phone').value

if(!(/^1(3|4|5|7|8)\d{9}$/.test(phone))){

alert("手机号码有误,请重新输入")

return false

}

}

js正则表达式常用元素符如下:

扩展资料:

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

参考资料:

官网正则表达式API-Creating a regular expression

菜鸟教程-JavaScript 正则表达式