私は HTML と JavaScript の初心者です。RegExp 関数を使用して、以下の正規表現を使用して IP アドレスを検証しようとしています。しかし、この正規表現の問題は、無効な IP アドレスに対しても検証して true を返すことです。
たとえば、IP アドレスが として入力された場合、正規表現は正しく機能しますが、IP アドレスが として入力され10.94.161.125
た場合は true を返します10/94/161/125
。
実際、( 、.
など@
)の代わりにある文字は、関数が false を返すようにするのではなく、true を返します。「\」の正確な違いを教えてください。正規表現を正しく機能させるために作成しています。正規表現を正しく機能させていません。ここは説明が必要です。!
#
正規表現が機能しないケースのシナリオ:
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}$' );