我正在运行一个mysql过程,其输入参数为user_id
,我想验证这个user_id
。
条件user_id
不以0开头但它包含0,即101是有效输入但011不是有效输入。
我编写以下代码,允许011作为有效代码。
user_id REGEXP '^-?[^0]$|^[1-9]+[0-9]*$'
有人可以帮我纠正上面的代码吗?
我想要REGEXP,不允许0作为第一个字符,不允许011或01或000但允许100或101。
答案 0 :(得分:1)
答案 1 :(得分:0)
试试这个。我使用了应该在mySQL中使用的单词边界锚,但你的正则表达式可能有所不同
仅将零排除为第一个字符,但确保它仍为数字:
[[:<:]][1-9][[:digit:]]*[[:>:]]
还要确保字符串中存在零:
[[:<:]][1-9][0-9]*0*[0-9]*[[:>:]]