检查字符串的第一个字符是数字,并且字符串中没有字母

时间:2018-08-28 00:47:57

标签: php regex

如何检查字符串的第一个字符是数字并且字符串中没有字母?

is_int(intval(substr($string, 0, 1))) && !preg_match('\w*}', $string)

此检查无效!

1 个答案:

答案 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