js 正则判断必须含有一位或2位小数

JavaScript019

js 正则判断必须含有一位或2位小数,第1张

^\d+(\.\d{2})?$ \d: 匹配数字 + : 数字出现1次上 (\.\d{2})?:括号内组面?表示括号内容出现0-1次 强制要求必须保留2位小数 ?改+ 即 (\.\d{2})+ \. : 匹配小数点 \d :匹配数字 {2}:小数点取两位 $:匹配任何结尾之前所写字符串 即 小数点和两位小数

js验证是正数且保留2位有效小数点的正则表达式是:123var reg = /^\+?(\d*\.\d{2})$/var str = ".23"reg.test(str)

验证正数的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+)?$"//浮点数

正则表达式,又称规则表达式。在代码中常简写为regex、regexp或RE,计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。正则表达式这个概念最初是由Unix中的工具软件普及开的。正则表达式通常缩写成"regex",单数有regexp、regex,复数有regexps、regexes、regexen。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

给定一个正则表达式和另一个字符串,可以达到如下的目的:

给定的字符串是否符合正则表达式的过滤逻辑;

可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式的特点是:

灵活性、逻辑性和功能性非常强;

可以迅速地用极简单的方式达到字符串的复杂控制;

对于刚接触的人来说,比较晦涩难懂。

第一: 限制只能是整数<input type = "text" name= "number" id = 'number' onkeyup= "if(! /^d+$/.test(this.value)){alert('只能整数')this.value=''}" />如果不是整数就直接alert第二: 限制是两位的小数<input type = "text" name= "price" id = 'price' onkeyup= "if( ! /^d*(?:.d{0,2})?$/.test(this.value)){alert('只能输入数字,小数点后只能保留两位')this.value=''}" />原理:通过 正则表达式判断,不满足 执行alert。第一个正则表达式是 /^d+$/ 表示可以是一个或者多个数字第二个正则表达式是/^d*(?:.d{0,2})?$/表示必须是数字开头,数字结尾。这里重点是要数字结尾, 在计算机中通常小数 1. , 2. 这种写法, 就是可是小数点结尾的, 是正确的。这里强制让数字结尾。test()只要找到满足的部分就返回真。意思是是/d/. test ( 'a' ) // false/d/. test ( 'a' ) // true/d/. test ( 'a' ) // true所以要保证谁开头谁结尾。 开头用 $, 结尾用 ^