js进行的一些判断
表达式
"^\\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+)?$" //浮点数
一丶判断是否为整数
function isInteger(num) { if (!isNaN(num) && num % 1 === 0) { return true; } else { return false; } }
二丶拼接的input标签,保存小数点后两位
<input type=\"text\" name=\"charge\" onkeyup=\"KEYUP(this)\"/>
function KEYUP(obj) { //修复第一个字符是小数点 的情况. if (obj.value != '' && obj.value.substr(0, 1) == '.') { obj.value = ""; } obj.value = obj.value.replace(/^0*(0\.|[1-9])/, '$1');//解决 粘贴不生效 obj.value = obj.value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符 obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的 obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两个小数 // obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/,'$1$2.$3');//只能输入4个小数 if (obj.value.indexOf(".") < 0 && obj.value != "") {//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 if (obj.value.substr(0, 1) == '0' && obj.value.length == 2) { obj.value = obj.value.substr(1, obj.value.length); } } }
验证正整数
var r = /^\+?[1-9][0-9]*$/; //正整数 String str = "123"; boolean flag=r.test(str); 如果判断为正整数,则flag为true
总结:(借鉴:https://www.cnblogs.com/huangf714/p/6252567.html)
1 Require : /.+/, 2 Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, 3 Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/, 4 Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/, 5 Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/, 6 IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/, 7 Currency : /^\d+(\.\d+)?$/, 8 Number : /^\d+$/, 9 Zip : /^[1-9]\d{5}$/, 10 QQ : /^[1-9]\d{4,8}$/, 11 Integer : /^[-\+]?\d+$/, 12 Double : /^[-\+]?\d+(\.\d+)?$/, 13 Float: /^[-\+]?\d+(\.\d+)?$/, 14 Float2: /^(0|[1-9]\d{0,3})(\.\d{0,2})?$/, 15 English : /^[A-Za-z]+$/, 16 Chinese : /^[\u0391-\uFFE5]+$/, 17 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})?$/, 18 UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/, 19 IsSafe : function(str){return !this.UnSafe.test(str);}, 20 SafeString : "this.IsSafe(value)", 21 Limit : "this.limit(value.length,getAttribute('min'), getAttribute('max'))", 22 LimitB : "this.limit(this.LenB(value), getAttribute('min'), getAttribute('max'))", 23 Date : "this.IsDate(value, getAttribute('min'), getAttribute('format'))", 24 Repeat : "value == document.getElementsByName(getAttribute('to'))[0].value", 25 Range : "getAttribute('min') < value && value < getAttribute('max')", 26 Compare : "this.compare(value,getAttribute('operator'),getAttribute('to'))", 27 Custom : "this.Exec(value, getAttribute('regexp'))", 28 Group : "this.MustChecked(getAttribute('name'), getAttribute('min'), getAttribute('max'))",
作者:chenze 出处:https://www.cnblogs.com/chenze-Index/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |