Heim > Fragen und Antworten > Hauptteil
Suchen Sie im Textfeld nach einem regulären Ausdruck für die IP-Fuzzy-SucheVerwenden Sie
Das korrekte ungefähre Format ist:
1.1
1.11.1
1.1.11
Erfüllen Sie die folgenden Filterelemente:
Kann nicht mit „.“ beginnen: .1.1.11
Kann nicht mit „.“ enden: 1.1.11.
Kann nicht zwei aufeinanderfolgende „.“ haben: 1..1.11
Kann keinen Punkt haben außer Englischer Punkt Andere Symbole als „.“: 1@1.1
Keine Leerzeichen: 1 .1 .1
Keine Buchstaben und chinesischen Schriftzeichen
Nur 1 Zahl kann passieren
Da ich nicht sehr gut in regulären Ausdrücken bin, benutze ich dumme Methoden, um sie Schritt für Schritt zu entfernen:
1 Die inneren Leerzeichen entfernen: /^S*$/
2. Entfernen Sie die Leerzeichen auf beiden Seiten :
while((value.indexOf(" ") == 0) && (value.length > 1)) {
return false;
}
while((value.lastIndexOf(" ") == value.length - 1) && (value.length > 1)) {
return false;
}
3. Dann schließen Sie Symbole aus: /<|>|||*|?||"|/|&|#|@|!|~|(|)/;
4. Entfernen Sie chinesische reguläre Ausdrücke: /^ [u4e00-u9fa5]+$/;
Ich werde es später nicht tun, und ich denke, dass diese Methoden sehr umständlich und überflüssig sind. Gibt es eine reguläre Möglichkeit, dieses Problem zu lösen?
代言2017-06-12 09:24:18
/^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/
其中,(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])
就是专门用来匹配 0~255 的数字的,上面的正则表达式可以理解为:([0~255]\.){3}[0~255]
迷茫2017-06-12 09:24:18
说白了就是数字开头数字结尾,数字中间可以插入点号。
/^(\d+[.])+\d+$/
ip地址一般两个点,所以
/^(\d+[.]){2}\d+$/
仅有的幸福2017-06-12 09:24:18
IP地址是x.x.x.x这样的格式,x最长是3位整数且不超过255,所以我的正则表达式如下:
/^([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){0,3}$/
这一部分主要是匹配[0,255]之间的数
([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])