JS正则表达式匹配检测各种数值类型(数字验证)

JavaScript017

JS正则表达式匹配检测各种数值类型(数字验证),第1张

验证数字的正则表达式集

验证数字:^[0-9]*$

验证n位的数字:^\d{n}$

验证至少n位数字:^\d{n,}$

验证m-n位的数字:^\d{m,n}$

验证零和非零开头的数字:^(0|[1-9][0-9]*)$

验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$

验证非零的正整数:^\+?[1-9][0-9]*$

验证非零的负整数:^\-[1-9][0-9]*$

验证非负整数(正整数

+

0)

^\d+$

验证非正整数(负整数

+

0)

^((-\d+)|(0+))$

验证长度为3的字符:^.{3}$

验证由26个英文字母组成的字符串:^[A-Za-z]+$

验证由26个大写英文字母组成的字符串:^[A-Z]+$

验证由26个小写英文字母组成的字符串:^[a-z]+$

验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

验证由数字、26个英文字母或者下划线组成的字符串:^\w+$

验证用户密码:^[a-zA-Z]\w{5,17}$

正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。

验证是否含有

^%&',=?$\"

等字符:[^%&',=?$\x22]+

验证汉字:^[\u4e00-\u9fa5],{0,}$

验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$

验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。

验证身份证号(15位或18位数字):^\d{15}|\d{}18$

验证一年的12个月:^(0?[1-9]|1[0-2])$

正确格式为:“01”-“09”和“1”“12”

验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$

正确格式为:01、09和1、31。

整数:^-?\d+$

非负浮点数(正浮点数

+

0):^\d+(\.\d+)?$

正浮点数

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

非正浮点数(负浮点数

+

0)

^((-\d+(\.\d+)?)|(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+)?$

以上所述是小编给大家介绍的JS正则表达式匹配检测各种数值类型(数字验证),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

正则表达式如下:/^1[6-9]$|^[2-9]\d$|^1\d{2}$/。

^符号表示字符串的开头,^1表示字符串的第一个源字符是1

$100符号表示字符串的结束

符号表示一组字符,即位置匹配[]中的任何字符,[6-9]表示字符可以是6、7、8或9中的任何字符。类似地,[2-9]表示2~9中的任何字符

\d匹配0到9之间的任何数字和任何字符

{2}表示之前匹配的字符数为2,\d{2}表示匹配的字符数为2

|表示or的关系,如果任何一个表达式匹配,则整个表达式都匹配

^1[6-9]$匹配2位数字,第1位是1,第2位是6~9,即度匹配16~19

^[2-9]\d$匹配2位数字,第一个是2~9,第二个是任意数字,即匹配20~99

^1\d{2}$匹配3位数字,第1位是1,后2位是任意数字,即匹配100~199

扩展资料:

规则表系统由一些普通的位字符和一些元字符组成。普通字符包括大写字母、小写字母和数字,而元字符有特殊的含义,我们将在下面解释。

在其最简单的形式中,正则表达式看起来像一个普通的查找字符串。例如,正则表达式“testing”不包含元字符;它可以匹配字符串“testing”和“testing123”,但不能匹配“testing”。

理解元字符是真正使用正则表达式的最重要的事情。

只能输入或粘贴纯数字的:

<input onkeyup="value=value.replace(/[^\d]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">

页面输入框js正则验证输入值为数字,且只保留小数点后两位:

<input type="text" id="aaa" name="aaa" onkeyup="clearNoNum(this)" onblur="clearNoNum(this)"/>

function clearNoNum(obj)

{

//先把非数字的都替换掉,除了数字和.

obj.value = obj.value.replace(/[^\d.]/g,"")

//保证只有出现一个.而没有多个.

obj.value = obj.value.replace(/\.{2,}/g,".")

//必须保证第一个为数字而不是.

obj.value = obj.value.replace(/^\./g,"")

//保证.只出现一次,而不能出现两次以上

obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".")

//只能输入两个小数

obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')

}