Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在将电话号码存储为字符串时,如何防止输入错误?_Java_String_Validation_Integer_Vcf Vcard - Fatal编程技术网

Java 在将电话号码存储为字符串时,如何防止输入错误?

Java 在将电话号码存储为字符串时,如何防止输入错误?,java,string,validation,integer,vcf-vcard,Java,String,Validation,Integer,Vcf Vcard,我正在创建一个可以读取vCard的电话簿程序。问题在于电话号码。通常情况下,美国的情况如下: 0771234560 但是,如果电话号码是来自外国的,它会是这样的 +94771234560或者可能(22)772324000 现在有+和()符号需要处理!我目前正在将电话号码(vCard将其作为字符串包含)转换为数字。但是,如果我将允许电话号码作为字符串,那么用户可能会做一些疯狂的事情,比如在联系人表单中插入姓名作为电话号码 如何将电话号码存储为字符串,但防止有问题的输入?一定要使用字符串,但要验证它

我正在创建一个可以读取vCard的电话簿程序。问题在于电话号码。通常情况下,美国的情况如下:

0771234560

但是,如果电话号码是来自外国的,它会是这样的

+94771234560
或者可能
(22)772324000

现在有
+
()
符号需要处理!我目前正在将电话号码(vCard将其作为字符串包含)转换为数字。但是,如果我将允许电话号码作为字符串,那么用户可能会做一些疯狂的事情,比如在联系人表单中插入姓名作为电话号码


如何将电话号码存储为字符串,但防止有问题的输入?

一定要使用字符串,但要验证它。仅仅因为它是一个字符串并不意味着你必须接受任何数据。您应该考虑使用正则表达式(或一系列正则表达式)来验证数据。
不要仅将其限制为特定字符-例如,您不想接受“)0(“作为一个电话号码,使用合理的模式。这可能对这方面有帮助,或者你可以寻找其他的来源。你也可以考虑稍微宽大些,因为不是每个人都会遵循精确的模式。但是有一个微妙的平衡需要实现。

< P>不要用数字类型来电话号码,坚持使用<代码>字符串< /代码。>

进行某种形式的输入验证。对您的电话号码定义一些限制,在读卡时,对照您的格式检查
字符串
:如果电话号码与您的限制不匹配,则拒绝


在本网站搜索有关电话号码验证的问题/答案。

添加两个电话号码意味着什么?因此,依我看,不是一个号码


您仍然应该尝试验证,但如果您想要接受任意国际数字,包括它们的书写方式的本地约定,那将令人沮丧。

我将去掉所有非数字字符。这些都是显示问题。我将使用字符串并使用将其设置为正确的正则表达式