我在ASP.NET MVC 3中有一个项目和一个包含电话号码字符串值表的mysql数据库(这个电话号码可以存储为123 456-789或12345 6789或123456789或用户输入他的任何方式数字)和其他表格,包含该用户的关键字数据。 问题是我有一个搜索,可以在关键字表(全文表)中找到用户,但我正在编写一种方法,如果搜索查询与某些正则表达式匹配,则在电话表中搜索。 我有两个问题: - 怎么可能是C#代码端的正则表达式告诉执行什么方法(SearchByKeyword或SearchByNumber)? - 我认为使用相同的正则表达式,我必须在手机表中搜索mysql查询...我该怎么做?
如果我的英语有点不好,我希望我已经解释得很好并且抱歉。
答案 0 :(得分:1)
最好是捕获数据以标准化保存的格式,IE:
111-111-1-111-11
1111-1111-1111
111111111111
1-1-1-1-1-1-1-1-1-1-1-1
全部保存为
111111111111
然后,您可以执行简单的LIKE查询:
SELECT * FROM tblNumbers WHERE number LIKE '%111%'
答案 1 :(得分:1)
我想说从输入中输入电话号码是个坏主意 - >直接查询变量。
更好的方法是:
input -> parser, error check procedure -> MySQL query request.
在将您的电话号码添加到查询之前 - 您可以删除所有额外的符号,例如(,), - ,“空格”等。