recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Trouver une règle régulière js : seuls les chiffres et les points anglais peuvent être saisis, pas deux points consécutifs, et ne peuvent pas commencer ou se terminer par "."

Recherchez une expression régulière à utiliser pour la recherche floue IP dans la zone de texteUtilisez

Le format approximatif correct est :
1.1
1.11.1
1.1.11

Répond aux éléments de filtre suivants :
Ne peut pas commencer par "." : .1.1.11
Ne peut pas terminer par "." : 1.1.11.
Ne peut pas avoir 2 "." consécutifs : 1..1.11
Ne peut pas avoir de point sauf Point anglais Symboles autres que "." : 1@1.1
Pas d'espaces : 1 .1 .1
Pas de lettres ni de caractères chinois
Un seul chiffre peut passer

Parce que je ne suis pas très bon en expressions régulières, j'utilise des méthodes stupides pour les éliminer étape par étape. Mon idée est de supprimer d'abord les espaces intérieurs et extérieurs :
1. Supprimez les espaces intérieurs : /^S*$/
. 2. Supprimez les espaces des deux côtés :

    while((value.indexOf(" ") == 0) && (value.length > 1)) {
        return false;
    }
    while((value.lastIndexOf(" ") == value.length - 1) && (value.length > 1)) {
        return false;
    }

3. Excluez ensuite les symboles : /<|>|||*|?||"|/|&|#|@|!|~|(|)/;
4. Supprimez les expressions régulières chinoises : /^ [u4e00-u9fa5]+$/;
Je ne le ferai pas plus tard, et je pense que ces méthodes sont très lourdes et redondantes. Existe-t-il un moyen régulier de résoudre ce problème ?

天蓬老师天蓬老师2751 Il y a quelques jours1126

répondre à tous(5)je répondrai

  • 学习ing

    学习ing2017-06-12 09:24:18

    /^(((\d+[.])+\d+)|\d)$/

    répondre
    0
  • 代言

    代言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])$/
    

    Parmi eux, (d|[1-9]d|1dd|2[0-4]d|25[0-5]) 就是专门用来匹配 0~255 的数字的,上面的正则表达式可以理解为:([0~255].){3}[0~255]

    répondre
    0
  • 迷茫

    迷茫2017-06-12 09:24:18

    Pour parler franchement, cela signifie commencer par un nombre et terminer par un nombre, et vous pouvez insérer un point au milieu du nombre.

    /^(\d+[.])+\d+$/
    

    L'adresse IP comporte généralement deux points, donc

     /^(\d+[.]){2}\d+$/

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-06-12 09:24:18

    L'adresse IP est au format x.x.x.x. Le x le plus long est un entier à 3 chiffres et ne dépasse pas 255, donc mon expression régulière est la suivante :

    /^([0-9]|[1-9]d|1dd|2[0-4]d|25[0-5])(.([0-9]|[1-9]d| 1dd|2[0-4]d|25[0-5])){0,3}$/

    Cette partie sert principalement à faire correspondre les nombres entre [0,255]

    ([0-9]|[1-9]d|1dd|2[0-4]d|25[0-5])

    répondre
    0
  • 滿天的星座

    滿天的星座2017-06-12 09:24:18

    /^d+(?:.d+)*$/
    A été personnellement testé pour répondre aux besoins du sujet

    répondre
    0
  • Annulerrépondre