簡體   English   中英

Javascript中僅包含數字且在除數字以外的任何位置均不得包含任何字符的字符串的正則表達式

[英]Regular expression in Javascript for a string which have ONLY numbers & should not have any characters at any position except numbers

問題是:我在jsp文件中有一個文本區域,從這里我正在通過javascript讀取值並驗證輸入的值是否為“ 1-25之間的數字”。 以下是我的解釋。

1)我的字符串只能包含[1-25]之間的數字

2)除數字[1-25]之外,在字符串的任何位置都不應包含任何字符(spl字符/符號)。

例如:

 12-allowed  (less than 25 and greater than 1) show success_message
 1@#4- not allowed, show warn_message
 @14#- not allowed, show warn_message
 !$%12()*& - not allowed even though number is less than 25 and greater than 1, since it contains characters apart from numbers, show warn_message.

這就是我嘗試過的

File.jsp

 <div class="row">
    <div class="large-1 columns">
        <input id="text_area" name="posArea" type="text"/>

    </div>
</div>

MyFile.js

 <script>
    var pos= ($('#text_area').val());

    var reg="^[1-25]$";

        if(pos.match(reg)){

                $('#warn_message').show();
                return false;
         }

         if(isNaN(pos)){

            $('#warn_message').show();
            return false;

            }
       else{

            $('#success_message').show();
       }
 </script>

這會顯示我輸入的任何數字的警告消息,有人可以發現我的錯誤嗎? 謝謝你的幫助。 如果您不理解我的問題,請發表評論

^(?:[1-9]|1\d|2[0-5])$

試試看。看演示。

https://regex101.com/r/sJ9gM7/17

[1-25]並不代表125的范圍,而是指字符類中介於1 to 25的范圍。

正則表達式[1-25]完全匹配1,2,5,1次。

對於整數,可以使用此正則表達式: ^(?:2[0-5]|[1][0-9]|[1-9])$

它不會零碎,但我認為您對它們不感興趣。

參見演示

您可以在沒有Regex的情況下做到這一點:

function checkNumber(number) {
  if(isNaN(number)) {
    return false;
  } else {
    number = parseInt(number)
    return number > 1 && number < 25
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM