Javascript 用于数字、逗号和空格的正则表达式

Javascript 用于数字、逗号和空格的正则表达式,javascript,regex,Javascript,Regex,我需要一个正则表达式,它允许字符串以逗号分隔的数字开头,以数字结尾(或数字后面有空格),并且允许数字和逗号之间有空格。 例如,var str='1,8,9,88'必须接受,而var str2=“1,2,5”必须不接受。我尝试使用var regEx=“^[0-9\,\s]+$”但这样做时,它接受以逗号结尾的字符串和两个数字不以逗号分隔的字符串。有什么想法吗 编辑: 接受的字符串示例: str1= "1,2,3,4" str2= "1 , 2,3,9" str3= " 8 , 44, 3 , 1

我需要一个正则表达式,它允许字符串以逗号分隔的数字开头,以数字结尾(或数字后面有空格),并且允许数字和逗号之间有空格。 例如,
var str='1,8,9,88'
必须接受,而
var str2=“1,2,5”
必须不接受。我尝试使用
var regEx=“^[0-9\,\s]+$”
但这样做时,它接受以逗号结尾的字符串和两个数字不以逗号分隔的字符串。有什么想法吗

编辑:

接受的字符串示例:

str1= "1,2,3,4"
str2= "1 , 2,3,9"
str3= "  8 , 44, 3  , 11"
要丢弃的字符串示例:

str4="1, 2,"
str5=", 1,2,"
str6="1,2 3,4"

您可以使用
\s
说明逗号前后的空格(或者仅匹配空格,因为
\s
也匹配换行符),以匹配空白字符,并使用重复模式匹配逗号和1+数字:

^\s*\d+(?:\s*,\s*\d+)*\s*$
  • ^
    字符串的开头
  • \s*\d+
    匹配0+空格字符和1+数字
  • (?:
    非捕获组
    • \s*,\s*\d+
      匹配0+空格字符,以及逗号、0+空格字符和1+数字
  • )*
    关闭非捕获组并重复0多次
  • \s*$
    匹配1+空格字符并断言字符串结尾

您能再举一些有效和无效输入的例子吗?您是否只接受逗号附近的多个空格?我认为您在示例Question edited;)中犯了一个错误如果str=“1”,接受还是放弃?str=“1”被接受@V-SHYOne一个大小写丢失,带有尾随空格/s,例如
1
它部分起作用,因为如果字符串在最后一个数字后以空格结尾,它就不起作用了是的@RehanHaiderIf我在线测试正则表达式,但如果我在代码验证器中写入.pattern(“^\s*\d+(?:\s*,\s*\d+*\s*$”),它就不起作用了。我错过了什么?@GigiProve你有没有试着双倍避开反斜杠<代码>^\\s*\d+(?:\\s*,\\s*\\d+*\\s*$