如何检查字符串的第一个字符是数字并且字符串中没有字母?
is_int(intval(substr($string, 0, 1))) && !preg_match('\w*}', $string)
此检查无效!
答案 0 :(得分:1)
您要查找的正则表达式为^[0-9]\P{L}+$
,并且不需要u
标志。
<?php
function check($text) {
if (($result = preg_match('/^[0-9]\P{L}+$/', $text)) !== false) {
return $result;
}
throw new Exception("Error with regex");
}
check('123') // true
check('1$%#@') // true
check('12д54') // false
check('1łs') // false
check('') // false
此外,对于开源CleanRegex,您可以执行以下操作:
<?php
pattern('^[0-9]\P{L}+$')->matches('123'); // true