<分区>
我想验证一个字符串是否由数字或逗号或分号组成:
有效:1.234
有效:1,234
无效:1.23a
无效:1.2_4
什么有效:
使用 str_split
从字符串中创建一个数组,并使用 in_array
和 array(0,1,2,3,4,5,6, 7,8,9,',',';')
。
但这对我来说感觉很迂回,因为我必须对数百万个字符串执行此操作,所以我想确保没有更有效的方法。
问题:有没有更高效的方式?
标签 php
<分区>
我想验证一个字符串是否由数字或逗号或分号组成:
有效:1.234
有效:1,234
无效:1.23a
无效:1.2_4
什么有效:
使用 str_split
从字符串中创建一个数组,并使用 in_array
和 array(0,1,2,3,4,5,6, 7,8,9,',',';')
。
但这对我来说感觉很迂回,因为我必须对数百万个字符串执行此操作,所以我想确保没有更有效的方法。
问题:有没有更高效的方式?
最佳答案
如果您只需要验证一个字符串(而不是清理或修改它),您可以使用正则表达式。尝试以下操作:
if (preg_match('/^[0-9\,\;\.]+$/', $string)) {
// ok
} else {
// not ok
}
关于PHP:检查字符串是否包含不在数组中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38556629/