使用preg_match检查文本格式

时间:2013-06-01 17:58:44

标签: php preg-match

我正在尝试用preg_match检查一些文字。

文本格式是以,分隔的数字,不是字母或其他任何内容

只是数字+“,”

例如:10,50,30

让我们说我想知道这个:

20,300,60  //ok
50  //ok..yes, ok even if there is no "," because there is no other number after it.
40,,60,60 // not ok..double ","
55,411, //not ok..contain "," at the end
70,800  //ok

我真的尝试了许多事情,并且在我打开这个Q之前的两个小时就浪费了。

请问好吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式/^\d+(,\d+)*$/

if (preg_match('/^\d+(,\d+)*$/', $string)) {
    // Matches
} else {
    // Does not match
}

如果要匹配小数,请使用以下表达式:

/^\d+(?:\.\d+)?(,\d+(?:\.\d+)?)*$/

答案 1 :(得分:0)

preg_match('/^[0-9][0-9,]*$/', $string)

...也将完成你想要的东西,但是,它不会与语言环境无关,然后,大多数国家再次使用我们用英语使用的阿拉伯数字,所以我不认为这也是很大的问题。一切顺利,希望它能为你效劳。