如何利用javascript的正则表达式替换手机号码,显示的结果只显示手机号码的后四位数字
本人自学javascript中,望各位能指点一二,感激不尽~~~
能带注释更好! 展开
// 匹配手机号首尾,以类似“123****8901”的形式输出
'12345678901'.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
此段正则匹配字符串中的连续11位数字,替换中间4位为*号,输出常见的隐匿手机号的格式。
如果要仅得到末尾4位,则可以改成如下形式:
// 匹配连续11位数字,并替换其中的前7位为*号
'15110280327'.replace(/\d{7}(\d{4})/, '*******$1');
补充注释:正则表达式中的括号即可用于分组,同时也用于定义子模式串,在replace()方法中,参数二中可以使用$n(n为数字)来依次引用模式串中用括号定义的字串。
var str = "hello world";
console.log(str.match("hello")); // ["hello", index: 0, input: "hello
world"]console.log(str.match("Hello")); // nullconsole.log(str.match(/hello/)); // ["hello", index: 0,
input: "hello world"]// 全局匹配var str2="1 plus 2 equal 3"console.log(str2.match(/\d+/g)); //["1", "2", "3"]
PS:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。