求一个只能输入年月的正则表达式,如2000-12

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一个只能输入年月的正则表达式,如2000-12相关的知识,希望对你有一定的参考价值。

以下说的都不对,谁会阿,只有年月就行,没有日

参考技术A \d4年\(0?[1-9]|[1][012])月\(0?[1-9]|[12][0-9]|[3][01])日 参考技术B \d4-\d2
不过没有想到怎么限定月份.....
参考技术C 看你用什么编写?用字符就行。前面是4位,中间有“-”,后面是2位。

求只能输入 正数和两位小数 的正则表达式,要能用的。。。

我在网上找了好久,发现这个还差不多[0-9]+\.?[0-9]*,就是不能控制小数的位数。请各位大侠,发能用的。。。

/**
 * 校验精确到小数点后最多两位的数字
 * @author g8up.cn
 * @date 2017.06.14
 */

//测试
function test( reg )
// 用例: case + 预期
const ret = [
case:\'0\',
exp: true,
,
case:\'0.1\',
exp: true,
,
case:\'0.12\',
exp: true,
,
case:\'0.123\',
exp: false,
,
case:\'-0.12\',
exp: true,
,
case:\'12\',
exp: true,
,
case:\'012\',
exp: false,
,
case:\'-012\',
exp: false,
,
case:\'12.0\',
exp: true,
,
case:\'12.\',
exp: false,
,
case:\'00\',
exp: false,
,
case:\'-0\',
exp: true,
,
case:\'-12.123\',
exp: false,
,
case:\'-0.1.2\',
exp: false,
,].filter( item => 
return reg.test( item.case) !== item.exp;
);

console.log(\'验证不通过的用例有\', ret.map(item=>item.case).join(\'\\n\') );// 打印非预期


var reg = /^((?:-?0)|(?:-?[1-9]\\d*))(?:\\.\\d1,2)?$/;
test( reg );
参考技术A 用这个\d1,\.\d2$
{2}中 2 就是来匹配小数位数的,$表示结尾的意思。
参考技术B /^([1-9]\\d*|0)(\\.\\d1,2)?$/

/^([1-9]\\d*|0)(\\.\\d1,2)?$/

匹配整数或最多两位小数

参考技术C ^([1-9][0-9]*)(\.[0-9]2)?$|^(0\.[0-9]2)$ 参考技术D [0-9]+\.?[0-9]0,2

以上是关于求一个只能输入年月的正则表达式,如2000-12的主要内容,如果未能解决你的问题,请参考以下文章

求JS的判断输入数字必须为正整数的正则表达式

YYMM 的正则表达式是啥?就是只能输入年月,例如1706

求正则表达式, 第一位大于0的正整数,直接可以在onkeyup事件中 使用的!

如何用正则表达式限制只输入整数(包括负整数和0)

js 正则表达式 来控制输入框 只能输入 7位正整数和2位小数,点号只允许输入一次~

表示年月的正则表达式