import './style.scss' import React from 'react' import ReactDOM from 'react-dom' class IPAddress extends React.Component { constructor(props) { super(props) this.state = { octets: [10, 88, 135, 144], cidr: 28, } } handleChange = (event) => { var octets = this.state.octets var val = +event.target.value.replace(/[^0-9]/g, '') var octet = event.target.attributes['data-octet'].value if (octet == 'cidr') { if (val <= 32) { this.setState({ cidr: val }) } } else { if (val <= 255) { octets[+octet] = val this.setState({ octets: octets }) } } } getPretty = () => { return this.state.octets.join('.') + '/' + this.state.cidr } getNetmask = () => { if (this.state.cidr == 0) { return '0.0.0.0' } else { return [...Array(4)].map((x, octet) => ((((0xFFFFFFFF << (32 - this.state.cidr)) >>> 0) >>> (3-octet)*8) & 0xFF) ).join('.') } } getCount = () => { if (this.state.cidr == 32) { return 1; } return ((0xFFFFFFFF >>> this.state.cidr) >>> 0) + 1 } render() { return