我正在测试 input class="k"
是否包含 HTML ID 属性的有效字符,如果不是则显示 alert
:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
我想在逻辑或中组合两个正则表达式。 有没有办法将它们合并到一个正则表达式中?
$('.k').keyup(function(){
if((/^[\d]/).test($(this).val())) alert('Not valid!');
if((/[\s]/).test($(this).val())) alert('Not valid!');
});
最佳答案
管道是正则表达式中的逻辑或。在这种情况下,parens 不是必需的。但是,通常,您希望对子模式进行分组:
/(^\d|\s)/
ID 的模式(\w
= [a-zA-Z0-9_]
):
/^[a-zA-Z][\w:.-]*$/
关于javascript - 在 OR 中将正则表达式组合在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8850800/