Cari ungkapan biasa untuk digunakan bagi carian kabur ip dalam kotak teksGunakan
Format anggaran yang betul ialah:
1.1
1.11.1
1.1.11
Temui item penapis berikut:
Tidak boleh bermula dengan ".": .1.1.11
Tidak boleh berakhir dengan ".": 1.1.11.
Tidak boleh mempunyai 2 "." berturut-turut: 1..1.11
Tidak boleh mempunyai sebarang haid kecuali Simbol noktah Inggeris selain daripada ".": 1@1.1
Tiada ruang: 1 .1 .1
Tiada huruf dan aksara Cina
Hanya 1 nombor boleh lulus
Oleh kerana saya tidak begitu mahir dalam ungkapan biasa, saya menggunakan kaedah bodoh untuk menghapuskannya langkah demi langkah. Idea saya adalah untuk membuang ruang dalam dan luar dahulu:
1 2. Buang ruang di kedua-dua belah :
while((value.indexOf(" ") == 0) && (value.length > 1)) {
return false;
}
while((value.lastIndexOf(" ") == value.length - 1) && (value.length > 1)) {
return false;
}
3. Kemudian kecualikan simbol: /<|>||*|?||"|/|&|#|@|!|~|(|)/;4. Alih keluar ungkapan biasa Cina: /^ [u4e00-u9fa5]+$/;
Saya tidak akan melakukannya kemudian, dan saya rasa kaedah ini sangat menyusahkan dan berlebihan Adakah terdapat cara biasa untuk menyelesaikan masalah ini?
Antaranya,
(d|[1-9]d|1dd|2[0-4]d|25[0-5])
就是专门用来匹配 0~255 的数字的,上面的正则表达式可以理解为:([0~255].){3}[0~255]
Secara terang-terangan, maksudnya bermula dengan nombor dan berakhir dengan nombor, dan anda boleh memasukkan titik di tengah nombor.
Alamat IP biasanya mempunyai dua titik, jadi
Alamat IP adalah dalam format x.x.x.x x terpanjang ialah integer 3 digit dan tidak melebihi 255, jadi ungkapan biasa saya adalah seperti berikut:
./^([0-9]|[1-9]h|1dd|2[0-4]h|25[0-5])(.([0-9]|[1-9]h| 1hb|2[0-4]h|25[0-5])){0,3}$/
Bahagian ini terutamanya untuk memadankan nombor antara [0,255]
([0-9]|[1-9]h|1hb|2[0-4]h|25[0-5])
/^d+(?:.d+)*$/
Telah diuji secara peribadi untuk memenuhi keperluan subjek