正则表达式仅适用于字符az,AZ
我不知道如何在JavaScript或jQuery中创建正则表达式。
我想创建一个正则表达式,它将检查字符串是否只包含az和AZ之间的任何排列字符。
编辑
当我试图制作正则表达式时
/^[a-zA-Z\s]+$/
接受白色空间。 它不起作用。 可能是什么错误?
我正在JavaScript RegExp上测试我的正则表达式示例:在线正则表达式测试器 。
/^[a-zA-Z]*$/
如果您不想允许空匹配,请将*
更改为+
。
参考文献:
字符类( [...]
) , 锚点( ^
和$
) , 重复( +
, *
)
/
只是分隔符,它表示正则表达式的开始和结束。 现在你可以在它上面使用修饰符 。
抄袭其他答案所说的,因为你根本不知道怎么做,这里有一个如何用JavaScript做的例子:
var charactersOnly = "This contains only characters"; var nonCharacters = "This has _@#*($()*@#$(*@%^_(#@!$ non-characters"; if (charactersOnly.search(/[^a-zA-Z]+/) === -1) { alert("Only characters"); } if (nonCharacters.search(/[^a-zA-Z]+/)) { alert("There are non characters."); }
/
正则表达式的开始和结束表示它是正则表达式。 search
函数同时使用字符串和正则表达式,因此必须指定正则表达式。
从MDN Docs ,如果没有匹配,则函数返回-1
。
另请注意:这仅适用于az,AZ。 如果有空格,它将失败。
/^[a-zA-Z]+$/
在我的头顶。
编辑:
或者,如果您不喜欢看起来很奇怪的文字语法,您可以这样做
new RegExp("^[a-zA-Z]+$");
使用POSIX Bracket Expressions(Javascript不支持),可以这样做:
/[:alpha:]+/
任何字母A到Z或a到z。
要么
/^[[:alpha:]]+$/s
严格匹配空格。