Javascript 仅用于字符a-z、a-z的正则表达式
我不知道如何在JavaScript或jQuery中创建正则表达式 我想创建一个正则表达式,该表达式将检查字符串是否只包含a-z和a-z之间的字符,并且有任何排列 编辑 当我试着做正则表达式的时候Javascript 仅用于字符a-z、a-z的正则表达式,javascript,jquery,regex,Javascript,Jquery,Regex,我不知道如何在JavaScript或jQuery中创建正则表达式 我想创建一个正则表达式,该表达式将检查字符串是否只包含a-z和a-z之间的字符,并且有任何排列 编辑 当我试着做正则表达式的时候 /^[a-zA-Z\s]+$/ 也可以接受空白。它不起作用。可能是什么错误 我正在测试我的正则表达式 从我的头顶上 编辑: 或者如果你不喜欢奇怪的文字语法,你可以这样做 new RegExp("^[a-zA-Z]+$"); 如果不允许空匹配,请将*更改为+ 参考资料: , /只是分隔符,它表示正则表
/^[a-zA-Z\s]+$/
也可以接受空白。它不起作用。可能是什么错误
我正在测试我的正则表达式
从我的头顶上
编辑:
或者如果你不喜欢奇怪的文字语法,你可以这样做
new RegExp("^[a-zA-Z]+$");
如果不允许空匹配,请将*
更改为+
参考资料:
,
/
只是分隔符,它表示正则表达式的开始和结束。现在您可以在它上面使用它。对于POSIX括号表达式(Javascript不支持),可以这样做:
/[:alpha:]+/
任意字母字符A到Z或A到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.");
}
以正则表达式开头和结尾的/
表示它是正则表达式。该函数同时接受字符串和正则表达式,因此指定正则表达式需要/
从中,如果没有匹配项,则函数返回-1
还要注意:这只适用于a-z,a-z。如果有空格,它将失败。此
/[^a-z]/g
解决了问题
函数盘片(str){
设regExp=/[^a-z]/g;
让letters=str.toLowerCase().replace(regExp.);
document.getElementById('letters')。innerHTML=字母;
}
pangram(‘GHV 2#%hfr efg uor7 489(*&^%knt lhtkjj ngnm!@#$%^&*());
为什么使用^and$。它的作用是什么purpose@Shantanu:这些用于匹配字符串的开头和结尾。如果没有它们,任何包含字母的字符串都将被匹配。现在只匹配包含字母的字符串。@Shantanu:^是字符串的开头,$是字符串的结尾。这里使用它来确保完整的环确实包含字符。如果执行/[a-zA-Z]*/
操作,If还将匹配字符串“1234 fo!”(在“fo”处)。但是……这不应该是/[:alpha:][]+/?正则表达式[a-zA-Z]将为某些字符编码返回不正确的值(例如EBCDIC,其中i和j之间存在间隙,r和s之间存在间隙)(包括~character),在I和J之间,在R和S之间。这一个在任何地方都有效。[:alpha:]
是正确的,但许多语言只会删除警告和DWYM。或者它可能只是未经测试。@James,可以说,如果问题按字面理解,[a-zA-Z]
即使对于EBCDIC也会给出正确的结果,[:alpha:]
对于EBCDIC也会返回不正确的结果。因为这个问题不仅仅要求字母。它要求a-z,a-z.:-/@LarsH-这是一个非常(事实上令人烦恼的)的问题好的观点,但我想我会坚持我的解释。谁真的想用a-zA-Z包含~,}和一堆不可打印的数据?我错过了^和$,我会编辑我的答案以使其正确,但要在新正则表达式上首先获得@NullUserException,它应该可以工作。至少在这里可以工作。请参阅:(我知道它是ruby,但我也在JS上测试了它)如果包含/
s,那么新的正则表达式将无法在该站点上工作,因为它们限定了表达式的开始和结束。
/[:alpha:]+/
/^[[:alpha:]]+$/s
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.");
}