JS判斷輸入是否為整數的正則表達式


 
1.正確表達式

"^\\d+$"  //非負整數(正整數 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整數
"^((-\\d+)|(0+))$"  //非正整數(負整數 + 0)
"^-[0-9]*[1-9][0-9]*$"  //負整數
"^-?\\d+$"    //整數
"^\\d+(\\.\\d+)?$"  //非負浮點數(正浮點數 + 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮點數(負浮點數 + 0)
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //負浮點數
"^(-?\\d+)(\\.\\d+)?$"  //浮點數

2、使用方法

  var r = /^\+?[1-9][0-9]*$/;  //正整數
  String str = "123";
  boolean flag=r.test(str);
  如果判斷為正整數,則flag為true

3、JS整數相加

  首先保證輸入的都是數字
  nText1=parseFloat(document.all.text1.value);
  nText2=parseFloat(document.all.text2.value);
  nSum=nText1+nText2
 
 
4.總結
Require : /.+/,
Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,
Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/,
Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,
Currency : /^\d+(\.\d+)?$/,
Number : /^\d+$/,
Zip : /^[1-9]\d{5}$/,
QQ : /^[1-9]\d{4,8}$/,
Integer : /^[-\+]?\d+$/,
Double : /^[-\+]?\d+(\.\d+)?$/,
Float: /^[-\+]?\d+(\.\d+)?$/,
Float2: /^(0|[1-9]\d{0,3})(\.\d{0,2})?$/,
English : /^[A-Za-z]+$/,
Chinese : /^[\u0391-\uFFE5]+$/,
DateTime:/^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))(\s\d{1,2}:\d{1,2}:\d{1,2})?$/,
UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/,
IsSafe : function(str){return !this.UnSafe.test(str);},
SafeString : "this.IsSafe(value)",
Limit : "this.limit(value.length,getAttribute('min'), getAttribute('max'))",
LimitB : "this.limit(this.LenB(value), getAttribute('min'), getAttribute('max'))",
Date : "this.IsDate(value, getAttribute('min'), getAttribute('format'))",
Repeat : "value == document.getElementsByName(getAttribute('to'))[0].value",
Range : "getAttribute('min') < value && value < getAttribute('max')",
Compare : "this.compare(value,getAttribute('operator'),getAttribute('to'))",
Custom : "this.Exec(value, getAttribute('regexp'))",
Group : "this.MustChecked(getAttribute('name'), getAttribute('min'), getAttribute('max'))",
 

詳細說明-幾種基本數字驗證:


只能輸入數字

  
表達式  ^[0-9]*$  
描述  匹配任意個數字  
匹配的例子  12345678,1234567  
不匹配的例子  E, 


只能輸入某個區間數字

  
表達式  ^[12-15]$  
描述  匹配某個區間的數字  
匹配的例子  12,13,14,15  
不匹配的例子   


只能輸入0和非0打頭的數字

  
表達式  ^(0|[1-9][0-9]*)$  
描述  可以為0,第一個數字不能為0,數字中可以有0  
匹配的例子  12,10,101,100  
不匹配的例子  01, 


只能輸入實數

  
表達式  ^[-+]?\d+(\.\d+)?$  
描述  匹配實數  
匹配的例子  18,+3.14,-9.90  
不匹配的例子  .6,33s,67-99


只能輸入n位小數的正實數

  
表達式  ^[0-9]+(.[0-9]{n})?$以^[0-9]+(.[0-9]{2})?$為例  
描述  匹配n位小數的正實數  
匹配的例子  2.22  
不匹配的例子  2.222,-2.22, 


只能輸入m-n位小數的正實數

  
表達式  ^[0-9]+(.[0-9]{m,n})?$以^[0-9]+(.[0-9]{1,2})?$為例  
描述  匹配m到n位小數的正實數  
匹配的例子  2.22,2.2  
不匹配的例子  2.222,-2.2222, 


只能輸入非0的正整數

  
表達式  ^\+?[1-9][0-9]*$  
描述  匹配非0的正整數  
匹配的例子  2,23,234  
不匹配的例子  0,-4, 


只能輸入非0的負整數

  
表達式  ^\-[1-9][0-9]*$  
描述  匹配非0的負整數  
匹配的例子  -2,-23,-234  
不匹配的例子  0,4, 


只能輸入n個字符

  
表達式  ^.{n}$ 以^.{4}$為例  
描述  匹配n個字符,注意漢字只算1個字符  
匹配的例子  1234,12we,123清,清清月兒  
不匹配的例子  0,123,123www, 


只能輸入英文字符

  
表達式  ^.[A-Za-z]+$為例  
描述  匹配英文字符,大小寫任意  
匹配的例子  Asp,WWW,  
不匹配的例子  0,123,123www, 


只能輸入大寫英文字符

  
表達式  ^.[A-Z]+$為例  
描述  匹配英文大寫字符  
匹配的例子  NET,WWW,  
不匹配的例子  0,123,123www, 


只能輸入小寫英文字符

  
表達式  ^.[a-z]+$為例  
描述  匹配英文大寫字符  
匹配的例子  asp,csdn  
不匹配的例子  0,NET,WWW, 


只能輸入英文字符+數字

  
表達式  ^.[A-Za-z0-9]+$為例  
描述  匹配英文字符+數字  
匹配的例子  1Asp,W1W1W,  
不匹配的例子  0,123,123,www, 


只能輸入英文字符/數字/下划線

  
表達式  ^\w+$為例  
描述  匹配英文字符或數字或下划線  
匹配的例子  1Asp,WWW,12,1_w  
不匹配的例子  3#,2-4,w#$, 


密碼舉例

  
表達式  ^.[a-zA-Z] \w{m,n}$  
描述  匹配英文字符開頭的m-n位字符且只能數字字母或下划線  
匹配的例子    
不匹配的例子   


驗證首字母大寫 
  
表達式  \b[^\Wa-z0-9_][^\WA-Z0-9_]*\b  
描述  首字母只能大寫  
匹配的例子  Asp,Net  
不匹配的例子   


驗證網址(帶?id=中文)VS.NET2005無此功能 
  
表達式  ^http:\/\/([\w-]+(\.[\w-]+)+(\/[\w- .\/\?%&=\u4e00-\u9fa5]*)?)?$ 
 
描述  驗證帶?id=中文  
匹配的例子  ,
http://blog.csdn.net/?id=清清月兒  
不匹配的例子   


驗證漢字 
  
表達式  ^[\u4e00-\u9fa5]{0,}$  
描述  只能漢字  
匹配的例子  清清月兒  
不匹配的例子   


驗證QQ號 
  
表達式  [0-9]{5,9}  
描述  5-9位的QQ號  
匹配的例子  10000,123456  
不匹配的例子  10000w, 


驗證電子郵件(驗證MSN號一樣)  
表達式  \w+([-+.´]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  
描述  注意MSN用非hotmail.com郵箱也可以  
匹配的例子  aaa@msn.com  
不匹配的例子  111@1


驗證身份證號(粗驗,最好服務器端調類庫再細驗證) 
  
表達式  ^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$  
描述    
匹配的例子  15或者18位的身份證號,支持帶X的  
不匹配的例子   


驗證手機號(包含159,不包含小靈通) 
  
表達式  ^13[0-9]{1}[0-9]{8}|^15[9]{1}[0-9]{8}  
描述  包含159的手機號130-139 
匹配的例子  139XXXXXXXX  
不匹配的例子  140XXXXXXXX, 


驗證電話號碼號(很復雜,VS.NET2005給的是錯的) 
  
表達式(不完美 )  方案一 ((\(\d{3}\)|\d{3}-)|(\(\d{4}\)|\d{4}-))?(\d{8}|\d{7})
方案二 (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$) 支持手機號但也不完美  
描述  上海:02112345678 3+8位
上海:021-12345678
上海:(021)-12345678
上海:(021)12345678
鄭州:03711234567 4+7位
杭州:057112345678 4+8位
還有帶上分機號,國家碼的情況
由於情況非常復雜所以不建議前台做100%驗證,到目前為止似乎也沒有誰能寫一個包含所有的類型 ,其實有很多情況本身就是矛盾的。
如果誰有更好 的驗證電話的請留言 
 
匹配的例子    
不匹配的例子   


驗證護照 
  
表達式  (P\d{7})|G\d{8}) 
 
描述  驗證P+7個數字和G+8個數字  
匹配的例子    
不匹配的例子   


驗證IP 
  
表達式  ^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$ 
 
描述  驗證IP  
匹配的例子  192.168.0.1 222.234.1.4  
不匹配的例子   


驗證域  
表達式  ^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|cn|com.cn|edu.cn|grv.cn|)$ 
 
描述  驗證域  
匹配的例子  csdn.net baidu.com it.com.cn  
不匹配的例子  192.168.0.1 


驗證信用卡  
表達式  ^((?:4\d{3})|(?:5[1-5]\d{2})|(?:6011)|(?:3[68]\d{2})|(?:30[012345]\d))[ -]?(\d{4})[ -]?(\d{4})[ -]?(\d{4}|3[4,7]\d{13})$ 
 
描述  驗證VISA卡,萬事達卡,Discover卡,美國運通卡  
匹配的例子    
不匹配的例子   


驗證ISBN 國際標准書號  
表達式  ^(\d[- ]*){9}[\dxX]$ 
 
描述  驗證ISBN國際標准書號  
匹配的例子  7-111-19947-2  
不匹配的例子   


驗證GUID 全球唯一標識符  
表達式  ^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$ 
 
描述  格式8-4-4-4-12  
匹配的例子  2064d355-c0b9-41d8-9ef7-9d8b26524751  
不匹配的例子   


驗證文件路徑和擴展名  
表達式  ^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.txt(l)?$ 
 
描述  檢查路徑和文件擴展名  
匹配的例子  E:\mo.txt  
不匹配的例子  E:\ , mo.doc, E:\mo.doc , 


驗證Html顏色值  
表達式  ^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$ 
 
描述  檢查顏色取值  
匹配的例子  #FF0000  
不匹配的例子 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM