js使用正则表达式对文本框进行限制输入
1.文本框只能输入大于等于0,小于等于100,保留两位小数的数字,小数点只能出现一次
function verifyRatio(obj) { // 值允许输入0-100的小数 obj.value = obj.value.replace(/[^\d.]/g, ""); //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/^\./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(/^[0]{0,}([1-9][0-9])[1-9]$/, "$1");//可能以0开头的1百零几的整数 obj.value = obj.value.replace(/^[0]{0,}([2-9][0-9])[0-9]$/, "$1");//可能以0开头的2百零几的整数 obj.value = obj.value.replace(/^[0]{0,}([1-9][1-9])[0-9]$/, "$1");//可能以0开头的几百几十的整数 obj.value = obj.value.replace(/^[0]{0,}([1][0][0])[0-9]$/, "$1");//可能以0开头,输入100后输入其他数字 obj.value = obj.value.replace(/^[0]{0,}([1-9][0-9][0-9]).*$/, "$1");//可能以0开头大于100的小数 }
可能会有重复或者纰漏,特殊情况太多,所以感觉繁琐无序,还望指教。
2.文本框对手机号验证
function verifyPhoneNum(obj) { // 值允许输入手机号数字 var regph = /^0?(13[0-9]|15[012356789]|17[0-9]|18[0-9]|14[57])[0-9]{8}$/;//验证手机号码 obj.value = obj.value.replace(/[^\d-]/g, ""); //先把非数字的都替换掉,除了数字 var reph = obj.value.match(regph); if (reph == null) { $("#txtContactInfo").tooltip("请输入正确的手机号"); event.stopPropagation() } else { $("#txtContactInfo").tooltip(""); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。