标签: user-input

将用户输入的搜索查询转换为where子句,以便在SQL Server全文搜索中使用

将用户输入的搜索词转换为可用于where子句进行全文搜索以查询表并获取相关结果的查询的最佳方法是什么?例如,用户输入以下查询:

+"e-mail" +attachment -"word document" -"e-learning"
Run Code Online (Sandbox Code Playgroud)

应该翻译成:

SELECT * FROM MyTable WHERE (CONTAINS(*, '"e-mail"')) AND (CONTAINS(*, '"attachment"')) AND (NOT CONTAINS(*, '"word document"')) AND (NOT CONTAINS(*, '"e-learning"'))
Run Code Online (Sandbox Code Playgroud)

我目前正在使用查询解析器类,它使用正则表达式将用户输入的查询解析为标记,然后从标记构造where子句.

但是,鉴于这可能是许多使用全文搜索的系统的常见要求,我很好奇其他开发人员如何处理这个问题,以及是否有更好的做事方式.

c# sql-server search full-text-search user-input

12
推荐指数
2
解决办法
5003
查看次数

在保存之前,如何清理用户输入以进行正确的内容编码?

我有一个用户将文本输入表单的应用程序.

数据保存到MySQL数据库(排序规则:) utf8_general_ci,然后输出为XML(编码:UTF-8).

问题是人们倾向于从其他来源剪切和粘贴他们的信息,例如,Microsoft Word文档或PDF.

此输入文本通常包含对输出编码不正确的字符,例如"智能引号",来自Windows-1252编码的文档

显然,当转换或处理XML时,这会导致问题,因为字符是非法的.

那么,如何消毒输入?

以前,我使用了一些相当强力的方法,比如"去模糊"脚本,它由一长串搜索和替换操作组成.

这仍然是最好的方法吗?还有其他方法吗?

我可以在表单上设置accept-charset属性并让浏览器为我执行此操作吗?

如果是这样,哪些浏览器会这样做并且可能存在任何问题?

另外,为什么我的数据库接受这些字符,这些字符是UTF-8中的保留/控制字符?

正如你所看到的,我对编码知之甚少,知道我有问题,但我现在有点超出我的深度......

TIA

mysql perl encoding user-input

12
推荐指数
1
解决办法
2162
查看次数

如何在WPF中从用户读取自定义键盘快捷键?

在我的应用程序中,我想让用户自定义键盘快捷键,就像在Visual Studio的键盘选项中一样.用户可以聚焦空白文本框,然后键入他想要分配给命令的任何快捷方式.

我最接近它的工作是订阅TextBox.PreviewKeyDown事件,将其设置为处理以防止在文本框中输入实际文本.然后我忽略与修饰键相关联的KeyDown事件(是否有更简洁的方法来确定Key是否是修饰键?).

// Code-behind
private void ShortcutTextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
    // The text box grabs all input
    e.Handled = true;

    if (e.Key == Key.LeftCtrl || 
        e.Key == Key.RightCtrl || 
        e.Key == Key.LeftAlt ||
        e.Key == Key.RightAlt || 
        e.Key == Key.LeftShift ||
        e.Key == Key.RightShift)
        return;

    string shortcutText = "";
    if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
        shortcutText += "Ctrl+";
    if ((Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
        shortcutText += "Shift+";
    if ((Keyboard.Modifiers & ModifierKeys.Alt) == ModifierKeys.Alt)
        shortcutText += "Alt+";
    _ShortcutTextBox.Text = …
Run Code Online (Sandbox Code Playgroud)

wpf user-input keyboard-shortcuts

12
推荐指数
1
解决办法
4374
查看次数

HTML输入字段强制数

是否可以创建一个输入字段,将默认输入字符集设置为手机上的数字(因此数字键盘向上)?
例如,可以更轻松地将电话号码键入HTML表单.

mobile wml user-input

12
推荐指数
2
解决办法
5万
查看次数

如何在用户输入字符和防止无效字符时测试字符输入到UITextField

首先,我为UITextField设置键盘以使用带小数形式的数字.因此用户只能输入数字和一个小数.

我想要做的是在用户输入时测试输入并防止输入多个小数,并将数字的小数部分限制为两个位置.我不想将数字四舍五入,甚至不将输入视为数字.我只是想阻止用户输入小数点右边的两位数.

validation user-input uitextfield ios

12
推荐指数
2
解决办法
2万
查看次数

如何在鱼壳中获得用户确认?

我正在尝试收集鱼类shellcript中的用户输入,特别是以下常见形式的用户输入:

This command will delete some files. Proceed (y/N)?
Run Code Online (Sandbox Code Playgroud)

经过一番搜索后,我仍然不确定如何干净利落地做到这一点.

这是鱼的特殊方式吗?

user-input confirmation fish

12
推荐指数
2
解决办法
3120
查看次数

如何将用户输入保存到html和js中的变量中

我正在制作一个游戏,一开始它会询问你的名字.我希望将此名称保存为varible.我有这个HTML代码:

<form id="form" onsubmit="return false;">
<input   style=position:absolute;top:80%;left:5%;width:40%; type="text" id="userInput">
<input   style=position:absolute;top:50%;left:5%;width:40%; type="submit"    onclick="name()">
</form>
Run Code Online (Sandbox Code Playgroud)

这是javascript部分:

function name()
{
var input = document.getElementById("userInput");
alert(input);
}
Run Code Online (Sandbox Code Playgroud)

html javascript user-input

12
推荐指数
2
解决办法
16万
查看次数

控制台应用程序的C#箭头键输入

我有一个用C#编写的简单控制台应用程序.我希望能够检测箭头按键,这样我就可以让用户转向.如何使用控制台应用程序检测keydown/keyup事件?

我所有的谷歌搜索都导致了关于Windows窗体的信息.我没有GUI.这是一个控制台应用程序(通过串口控制机器人).

我有编写函数来处理这些事件,但我不知道如何注册以实际接收事件:

  private void myKeyDown(object sender, KeyEventArgs e)
  {
      switch (e.KeyCode)
      {
          case Keys.Left:
                 ...
          case Keys.Right:
                 ...
          case Keys.Up:
                 ...
      }
  }

  private void myKeyUp(object sender, KeyEventArgs e)
  {
      ... pretty much the same as myKeyDown
  }
Run Code Online (Sandbox Code Playgroud)

这可能是一个非常基本的问题,但我对C#还不熟悉,而且我以前从未需要这样的输入.

更新: 许多人建议我使用System.Console.ReadKey(true).Key.这没有用.我需要知道按键被释放的时刻,同时支持多个按键.此外,ReadKey是一个阻塞调用 - 这意味着程序将停止并等待按下一个键.

更新: 似乎唯一可行的方法是使用Windows窗体.这很烦人,因为我无法在无头系统上使用它.要求表单GUI接收键盘输入是......愚蠢的.

但无论如何,对于子孙后代,这是我的解决方案.我在.sln中创建了一个新的Form项目:

    private void Form1_Load(object sender, EventArgs e)
    {
        try
        {
            this.KeyDown += new KeyEventHandler(Form1_KeyDown);
            this.KeyUp += new KeyEventHandler(Form1_KeyUp);
        }
        catch (Exception exc)
        {
            ...
        }
    }

    void Form1_KeyDown(object sender, KeyEventArgs e)
    { …
Run Code Online (Sandbox Code Playgroud)

c# user-input console-application

11
推荐指数
2
解决办法
3万
查看次数

通过插入可见空格来格式化安全文本条目

我希望用户以•••••••••的格式输入社会安全号码.用户键入前3个数字,然后手动附加空格.然后他们再输入2个数字,我手动添加一个空格.当然,即使空间也显示为•.是否有一种本地方式来改变这种行为?我目前正在使用一个时髦的手动实现.

user-interface cocoa-touch user-input ios

11
推荐指数
1
解决办法
907
查看次数

readLines函数与新版本的R

我的功能是:

create_matrix <- function() {
  cat("Write the numbers of vertices: ")
  user_input <- readLines("stdin", n=1)
  user_input <- as.numeric(user_input)
  print(user_input)
  }
Run Code Online (Sandbox Code Playgroud)

对于版本3.5.0,在我输入数据后,程序不会继续执行.我直接从控制台调用脚本.

user-input r rscript readlines

11
推荐指数
1
解决办法
632
查看次数