cr135810
2019-04-25 15:32
采纳率: 100%
浏览 1.8k
已采纳

正则 校验英文逗号字符串

正则表达式 怎么校验只能有英文逗号呢?
1、首尾不能包含中英文逗号
2、中间不能包含中文逗号

例如
a,b,c,d 校验不通过
a 通过
a,b 通过
,,,a,b,,,,不通过
该怎么处理呢?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 天际的海浪 2019-04-25 16:17
    已采纳

    也就是允许中间有连续的英文逗号是吧?

    if (! /,|^,|,$/.test(str))
        alert("通过");
    else
        alert("不通过");
    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 取个昵称想半天 2019-04-25 15:40

    ^(\d+,?)*(?=\d$)

    评论
    解决 无用
    打赏 举报
  • Yirujet 2019-04-25 15:47

    用/,/g判断是否包含中文逗号

    评论
    解决 无用
    打赏 举报
  • 隔壁老陈你瞅啥 2019-04-25 15:50

    这个正则表达式是对的

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <script type="text/javascript">
            function CheckChinese(obj,val){
            //var regex = "^\,|(\,{2,})|\,$";
            var regex = new RegExp("^\,|(\,{2,})|\,$");
            if(regex.test(val)){
                console.log('首尾和中间不能包含中文逗号');
            }else{
                 console.log('true');
            }
        }
        </script>
        <body>
            <input id="test" type="text" onblur="CheckChinese('test',this.value)" />
        </body>
    </html>
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题