摘要:正文今天在做表單驗證的時候發現,默認的驗證規則必須輸入整數是只能輸入正整數的。
正文
今天在做表單驗證的時候發現,validate默認的驗證規則 :
digits:true 必須輸入整數
是只能輸入正整數的。
而公司項目中表單一直用digits:true,也沒發現異常,直到今天,那個數據是可以輸入負數的,測試才發現,輸入了負整數,表單驗證提示 必須輸入整數!
難道 負整數 不算是 整數 嗎?
于是,我查看了jquery.validate.js的源碼,發現:
// http://docs.jquery.com/Plugins/Validation/Methods/digits digits: function( value, element ) { returnthis.optional(element) || /^d+$/.test(value); },
而正則表達式:
驗證非負整數(正整數 + 0) ^d+$
驗證非正整數(負整數 + 0) ^((-d+)|(0+))$
也就是說, jquery.validate.js的源碼 中 digits:true 的確是驗證的非負整數(正整數 + 0);
所以,自己寫了個自定義方法,解決了整數(正整數+負整數+0)的驗證:
jQuery.validator.addMethod("integer", function (value, element) { var tel = /^-?d+$/g; //正、負 整數 + 0 return this.optional(element) || (tel.test(value)); }, "請輸入整數");資料:
整數 維基百科,自由的百科全書
自然數 維基百科,自由的百科全書
正則表達式 維基百科,自由的百科全書
JS正則表達式驗證數字
最全的常用正則表達式大全——包括校驗數字、字符、一些特殊的需求等等
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91112.html
摘要:也就是說如果傳的中有的為空或者是負數,入參驗證不會檢測出來。為了能夠進行嵌套驗證,必須手動在實體的字段上明確指出這個字段里面的實體也要進行驗證。用在方法入參上無法單獨提供嵌套驗證功能。 來源:blog.csdn.net/qq_27680317/article/details/79970590整編:Java技術棧(公眾號ID:javastack) Spring Validation驗證框...
摘要:驗證是否含有等字符只能輸入漢字驗證地址驗證驗證電話號碼正確格式為,,,,,。驗證身份證號位或位數字驗證一年的個月正確格式為和驗證一個月的天正確格式為和。 一、校驗數字的表達式 1 數字:^[0-9]*$ 2 n位的數字:^d{n}$ 3 至少n位的數字:^d{n,}$ 4 m-n位的數字:^d{m,n}$ 5 零和非零開頭的數字:^(0|1-9*)$ 6 非零開頭的最多帶兩位小數的數字...
摘要:有符號的右移操作符由兩個大于符號表示這個操作符的含義就是將數值的位向右移指定的位數同時保留符號位的值正負號標記有符號的右移操作符與左移操作符剛好相反比如向右移動位就是同樣的在移位的過程中也會出 位操作符的基本概念 因為ECMAscript中所有數值都是以IEEE-75464格式存儲,所以才會誕生了位操作符的概念. 位操作符作用于最基本的層次上,因為數值按位存儲,所以位操作符的作用也就是...
閱讀 2468·2021-11-19 09:59
閱讀 1991·2019-08-30 15:55
閱讀 935·2019-08-29 13:30
閱讀 1337·2019-08-26 10:18
閱讀 3087·2019-08-23 18:36
閱讀 2389·2019-08-23 18:25
閱讀 1161·2019-08-23 18:07
閱讀 439·2019-08-23 17:15