reg ex exclude < and >

reg ex exclude < and >

本文关键字:and gt ex lt reg exclude      更新时间:2023-09-26

我一直在徒劳地寻找一个正则表达式,以确保输入的字符串不包含<或>,当Javascript关闭时,它将与Foundation Abide以及HTML5一起使用。

我已经尝试了很多版本的

[^<][a-zA-Z ''-]+[a-zA-Z ''-]+
[^<|>]([a-zA-Z ''-])+[^<|>]([a-zA-Z ''-])+
[^<][a-zA-Z ''-]+

等。但是我不能让它工作。

这是我的当前行:

    <input id="fName" name="fName" type="text" value="<?=$fName;?>" title="Non Numeric and only hyphen and single quote allowed." 
required pattern="[^<|>][a-zA-Z ''-]+[^<|>][a-zA-Z ''-]+[^<|>]" />

我敢肯定这只是一个黑客的尝试,因为我没有太多的经验与regex。

我哪里错了?

我想要的是允许字母数字值(实际名称允许第2等)与空格,单引号,连字符。但是我不想允许<sometag>/sometag>

基本模式是这样的:

pattern="[a-zA-Z ''-]+[a-zA-Z0-9 ''-]+"

现在我需要修改,使标记将被标记。(没有& # 60;或& # 62;)

供参考,我已经尝试了遵守预定义的模式"alpha_numeric",但这允许<& # 62;

这个正则表达式将检查字符串中不存在<>字符:

^ [^ & lt;>] + $

这意味着

:

^(确保你在字符串的开头)
[^<>]+(1个或多个非<>的字符)
$(确保你到达字符串的末尾。

例如(在javascript中)

/^[^<>]+$/.test("hello"); // true
/^[^<>]+$/.test("hello <strong>world</strong>"); // false