如何使用Regex验证‘num.numxnum.num’格式的语法?
解决jQuery中尺寸格式正则验证问题
你的正则无效主要有几个问题:
- 原正则里多了空格,和目标格式里的
x后无空格不符 .在正则里是匹配任意字符,必须转义成\.才能匹配实际的小数点[0-9]只匹配单一位数字,没处理1-2位的情况- 没限定字符串的开头和结尾,会导致部分匹配也通过
针对你要验证的1-2位数字.数字x1-2位数字.数字格式,正确的正则应该是:
/^\d{1,2}\.\dx\d{1,2}\.\d$/
正则各部分解释:
^:匹配字符串的起始位置\d{1,2}:匹配1到2位数字(\d等价于[0-9],{1,2}指定位数范围)\.:转义后的小数点,专门匹配实际的.字符\d:匹配小数点后的1位数字x:匹配格式里的x字符$:匹配字符串的结束位置
jQuery中使用示例:
比如在表单验证时可以这样用:
// 假设输入框的id是sizeInput const inputVal = $('#sizeInput').val(); const regex = /^\d{1,2}\.\dx\d{1,2}\.\d$/; if (regex.test(inputVal)) { // 格式正确的处理逻辑 console.log('格式有效'); } else { // 格式错误的处理逻辑 console.log('格式无效,请输入如9.3x1.3、12.5x11.3的格式'); }
测试几个案例:
- 有效:
9.3x1.3、12.5x11.3 - 无效:
3x1.3(缺少小数点后数字)、123.5x11.3(数字超过2位)、9.3x1(缺少小数点和数字)
内容的提问来源于stack exchange,提问作者Tibi
相关产品推荐
相关产品推荐

