我正在尝试用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之前的两个小时就浪费了。
请问好吗?
谢谢。
答案 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)
...也将完成你想要的东西,但是,它不会与语言环境无关,然后,大多数国家再次使用我们用英语使用的阿拉伯数字,所以我不认为这也是很大的问题。一切顺利,希望它能为你效劳。