如何仅验证英文字母字符

vol*_*one 2 regex validation coldfusion jquery jquery-validate

我在页面上有一个文本字段,允许人们输入他们的名字.然后将其包含在专门为他们制作的URL中,例如mysite.net/johnnyfive

我不希望人们在他们的名字中使用任何特殊字符,包括非英语字母表中的字符,如阿拉伯语或中文.

我将如何验证为英文字母的ColdFusion?我想出了这个英文名称,#REReplace(LCase(ARGUMENTS.Name), '[^a-z0-9]', '', 'ALL')#以确保只允许字符AZ和数字.但是,如果有人进入类似的东西,??????我想要它完全拒绝它,而不是试图取代它.

我也想在jQuery端执行此操作并将其绑定到文本字段,以便在有人尝试输入非英语字符时抛出错误.我想甚至á不应该允许像这样的变音字符.

我正在使用ColdFusion 10,jQuery 1.9和jQuery Validate

nu1*_*73R 6

您可以使用相同的正则表达式来验证字段.在正则表达式周围添加锚点,以确保正则表达式匹配的字符串没有任何前提或后跟

^[^a-z0-9]$
Run Code Online (Sandbox Code Playgroud)
  • ^ 将正则表达式锚定在字符串的开头.

  • $ 在字符串的末尾锚定正则表达式.

示例:http://regex101.com/r/tJ7tJ9/1

您可以使用匹配函数来确保字符串与正则表达式匹配

var str = "??????"; 
if(str.match(/^[a-z0-9]+$/gi))
{
    //Do something 
}
else
{
    // Do something else
}
Run Code Online (Sandbox Code Playgroud)