我有一个名为CustomerAddr
的表。该表供用户输入客户的地址信息。名为StNumber
的列应该只允许数字字符例如。0-9就像电话号码一样,但是用户输入客户地址信息可以输入任何字符,如字母、特殊字符等。
我希望列StNumber
只接受数值0-9,最多四个字符。如果用户试图在客户地址信息屏幕中输入除数字以外的任何内容,则应将其阻止。我将StNumber
的数据类型更改为numeric(5)
,但用户仍然可以输入任何字符。如果能帮上忙就太好了。
发布于 2015-01-16 13:37:07
ALTER TABLE CustomerAddr
ADD CONSTRAINT chk_num CHECK (ISNUMERIC ( StNumber ))
发布于 2015-01-16 15:48:22
正如所有人所说的,您正在谈论UI验证。你应该考虑使用正则表达式。例如,您可以使用正则表达式^[0-9]*$
来确保只键入数字。对于您的情况,您可以使用^[0-9][0-9][0-9][0-9]$
仅接受四位数。
根据您使用的语言,您需要知道如何进行此验证。例如,下面的链接给出了一个使用.NET的示例:
https://stackoverflow.com/questions/27977831
复制相似问题