如何正确匹配变量与IPv4正则表达式

时间:2017-03-08 16:51:26

标签: javascript regex match

我是JavaScript的新手,我正在尝试创建一个简单的函数来检查变量是否是有效的IPv4地址。

目前,我只是使用online tool尝试代码。

我从stackexchange复制了正则表达式并尝试将其与硬编码变量匹配,但在线编辑器声称它是无效的JavaScript代码。

ip='127.0.0.1';

if (ip.match(^([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\\.([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\\.([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\\.([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])$){
    alert('IPv4');
}
else{
    alert('no IPv4');
}

如何正确检查静态变量是否是带有正则表达式的有效IPv4地址?

1 个答案:

答案 0 :(得分:1)

你必须用分隔符包围正则表达式:

if (ip.match(/^([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])(\.[01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]){3}$/)) {

您可以使用量词来减少正则表达式的长度:

objectMapper.registerModule(
    new Hibernate4Module().configure(
        Hibernate4Module.Feature.FORCE_LAZY_LOADING, true));