正则表达式,限制只能输入数字和中英文逗号,并且是一个数字一个逗号的形式,求教

百曉生 2019-10-08 09:35:24
正则表达式,限制只能输入数字和中英文逗号,并且是一个数字一个逗号的形式,求教

使用这个可以限制为数字和英文逗号,但形式没限制为一个数字一个逗号
onkeyup="this.value=this.value.replace(/[^\d\,]/g,'');"


可以分两步,先限制只能输入数字和中英文逗号,然后再通过onblur里边的方法校验格式
...全文
1044 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
百曉生 2019-10-08
  • 打赏
  • 举报
回复
是我写的有问题,这样可以了,非常感谢
 var patrn = /^\d([,,]\d)*$/;
// /^(\d+\,)+\d+$/
if(!patrn.exec(text)) {
alert("请录入0~9之间任意数字,若查询多个请,隔开!");
}
else {
alert(999);
}


引用 5 楼 qybao 的回复:
输入什么样的样例不管用?加上^和$试试
String reg = "^\\d([,,]\\d)*$";
百曉生 2019-10-08
  • 打赏
  • 举报
回复
引用 5 楼 qybao 的回复:
输入什么样的样例不管用?加上^和$试试
String reg = "^\\d([,,]\\d)*$";

输入字母不管用,好的我再试试
qybao 2019-10-08
  • 打赏
  • 举报
回复
输入什么样的样例不管用?加上^和$试试
String reg = "^\\d([,,]\\d)*$";
百曉生 2019-10-08
  • 打赏
  • 举报
回复
引用 2 楼 qybao 的回复:
如果输入一个数字也可以的话
String reg = "\\d([,,]\\d)*";

你好,这个看着正确,但我在js中校验不管用,请问是怎么回事吗?
function checkText(text) {
var patrn = "\\d([,,]\\d)*";
// /^(\d+\,)+\d+$/
if(!patrn.exec(text)) {
alert("请录入0~9之间任意数字,若查询多个请,隔开!");
}
else {
alert(999);
}
}
  • 打赏
  • 举报
回复

/^\d+(?:[,,]\d+)*$/.test(str);

格式校验
qybao 2019-10-08
  • 打赏
  • 举报
回复
如果输入一个数字也可以的话
String reg = "\\d([,,]\\d)*";
qybao 2019-10-08
  • 打赏
  • 举报
回复
String reg = "(\\d[,,])+";

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧