js如何使用正则表达式限制输入框小数和分数?

问题描述

js如何使用正则表达式限制输入框小数和分数?
小数是这种: 23.3
分数是这种: 33/12
要求使用正则表达式!!!

解决方案

 function regDg(){     var c = ['33.01''33.121''33/12''a''33.''33/12.0'];     var a =""^[0-9]+.([0-9])+$"";     var a2=""^[0-9]+/([0-9])+$"";     var reg=new RegExp(a);     var reg2=new RegExp(a2);     for(var i=0;i<c.length;i++){         var f = reg.test(c[i])||reg2.test(c[i]);       console.log(f);     }  }

解决方案二:
题主没讲明白。要求输入框只能输入什么?禁止输入什么?

解决方案三:
题主没讲明白。要求输入框只能输入什么?禁止输入什么?+1

解决方案四:
form提交的时候验证下有效性,如果不对就进制表单提交

 /^(d+(.d+)?)(/d+(.d+)?)?$/.test('123.33/22.3')

解决方案五:
不懂lz意思 但是先来个小数的 而且是保留两位

function formatMoney(s) {    if (/[^0-9.-]/.test(s) || s == null || s == """") return ""0"";    s = s.toString();    var after_tmp = '';    var pos = s.indexOf(""."");    if(pos > 0){        var before = s.substr(0pos);        var after = s.substr(pos+12).replace(/./");        var len = after.length;        for(i=0; i<(2 - len); i++){            after = len <= 1 ? after + '0' : '0' + after;        }        before = /^-?d+$/.test(before) ? before : '0';        s = (before + '.' + after);    }else{        s = /^-?d+$/.test(s) ? s + '.00' : '0.00';    }    return s;};

解决方案六:
楼主的意思是让分数能够用分数的形式表现出来么

时间: 2024-11-08 22:07:34

js如何使用正则表达式限制输入框小数和分数?的相关文章

html-js如何使用正则表达式限制输入框小数和分数?(就是&amp;amp;lt;input&amp;amp;gt;框里只能输入小数和分数)

问题描述 js如何使用正则表达式限制输入框小数和分数?(就是<input>框里只能输入小数和分数) 小数是这种: 23.3 分数是这种: 33/12 就是里只能输入小数或者分数,其他的不能输入 解决方案 function foo() { var pattern = new RegExp(^\d+([\.\/]d+)$); if ($("#text1").val().match(pattern)==null) { alert("错误"); return f

JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位小数_正则表达式

第一: 限制只能是整数 <input type = "text" name= "number" id = 'number' onkeyup= "if(! /^d+$/.test(this.value)){alert('只能整数');this.value='';}" /> 如果不是整数就直接alert 第二: 限制是两位的小数 <input type = "text" name= "price&quo

js动态拼接正则表达式的两种方法

 这篇文章主要介绍了js动态拼接正则表达式的两种方法,需要的朋友可以参考下 方法一:    做项目的时候可能会遇到用js验证表单输入正确性的需求,这时候就需要用到js的正则表达式.举个例子:比如说要验证月份,格式为:'yyyy-MM',这个正则表达式写起来很简单,实在写不出,也可以Google.百度一把,网上例子一大堆!但是js正则表达式就这样写死也会带来新的问题:如果配置文件的月份格式改了呢?改成'yyyyMM'.或者是'yyyy_MM'...呢??我们是不是要记得去把js中的正则表达式也跟着

JS基础教程——正则表达式示例(推荐)

正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字.[\s*]表示空格或者*号. {}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格. (0-9) 匹配 '0-9′ 本身. [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后

一个容易犯错的js手机号码验证正则表达式(推荐)

写一个简单的正则表达式,用来校验11位手机号码,开头允许是13.15.18,我一开始这样写: var reg = /^(13[0-9]{9})|(15[0-9]{9})|(18[0-9]{9})$/; 运行发现,即使是 13988888877157777,也能通过验证,这说明这个写法错了,我的本意是希望这样: ^(13[0-9]{9})$ 或者 ^(15[0-9]{9})$ 或者 ^(18[0-9]{9})$ 所以正确写法是:var reg = /^1[358][0-9]{9}$/;这样才能保证

日常收集JS邮箱验证正则表达式

背景:正则是一门厚书啊,想写好也不容易,但日常中也就那些像电话.邮箱.手机,网上一堆,但真好验证好了,还得了解一点正则知识,再就是多测试了:-) 下面邮箱正则: 中划线:中划线域名就是米农口中说的扁担域名了,扁担域名由于输入比较麻烦,看起来也比较不正规,是没有多大的价值,目前投资的人是比较少的.按照DNS的标准,域名是不允许有下划线的. 下划线:一些人在注册用户名的喜欢使用下划线_,这种用户名在登录邮箱时很麻烦,给你发邮件的人也很不方便. 二级域名邮箱基本被消灭,这个哥们的正则可以写下划线,扩大

js动态拼接正则表达式的两种方法_javascript技巧

方法一: 做项目的时候可能会遇到用js验证表单输入正确性的需求,这时候就需要用到js的正则表达式.举个例子:比如说要验证月份,格式为:'yyyy-MM',这个正则表达式写起来很简单,实在写不出,也可以Google.百度一把,网上例子一大堆!但是js正则表达式就这样写死也会带来新的问题:如果配置文件的月份格式改了呢?改成'yyyyMM'.或者是'yyyy_MM'...呢??我们是不是要记得去把js中的正则表达式也跟着一遍遍的改呢?? 这时候我们就要问了:怎样才能写出动态的正则表达式呢,修改了配置文

js 求一正则表达式是去掉&amp;amp;lt;p&amp;amp;gt; 这个标签的

问题描述 js 求一正则表达式是去掉<p> 这个标签的 js 求一正则表达式是去掉 这个标签的 有知道的朋友麻烦帮助下 解决方案 var s='<p aa>afef</p>';s=s.replace(/</?p[^>]*>/gi'')alert(s) 解决方案二: var s=' afef ';s=s.replace(/</?p[^>]*>/gi'')alert(s)

javascript-求港澳身份证及台湾身份证js验证或者正则表达式

问题描述 求港澳身份证及台湾身份证js验证或者正则表达式 求港澳身份证及台湾身份证js验证或者正则表达式............. 解决方案 可以参考12306对香港,台湾居民的做法 https://kyfw.12306.cn/otn/resources/merged/registDetailed_js.js?scriptVersion=1.8393 解决方案二: 身份证验证身份证验证[正则表达式] 解决方案三: 港澳身份证及台湾身份证这种都不存在啊,港澳和台湾都 不搞这个,只有我们内陆才有的