我是 HTML 和 JavaScript 的新手。我们正在尝试使用 RegExp 函数使用以下正则表达式验证 IP 地址。但是这个正则表达式的问题在于验证并返回 true,对于无效的 IP 地址也是如此。
例如,当 IP 地址输入为时,正则表达式可以正常工作,但当 IP 地址输入为10.94.161.125
时,它会返回 true 10/94/161/125
。
事实上,任何代替.
(如@
、!
等#
)的字符都不会使函数返回 false,而是返回 true。请让我知道确切的区别是什么“\”。是为了使正则表达式正常工作,其中为“。” 它没有使正则表达式以正确的方式工作。这是我需要澄清的地方。
正则表达式非工作案例 senario:
var ipRE = new RegExp( '^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$' );
正则表达式工作案例
var ipRE = new RegExp( '^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$' );