Javascript 是的,正则表达式问题
尝试通过JQuery和验证插件进行一些javascript表单验证 我正在使用与此规则非常匹配的输入值执行自定义验证规则Javascript 是的,正则表达式问题,javascript,regex,Javascript,Regex,尝试通过JQuery和验证插件进行一些javascript表单验证 我正在使用与此规则非常匹配的输入值执行自定义验证规则 A-z 0-9 - _ ' & . 基本上,我搞不清楚答案。部分。这是我现在拥有的 /^[A-z0-9_]+(-)+$/i …我不知道这是不是很理想,它适用于它所涵盖的内容 但是,对上述字符进行正则表达式测试的最佳方法是什么?谢谢。你想要什么 var regex = /^[a-z0-9_\-.'&]/i; 这是你想要的吗 var regex = /^[a
A-z 0-9 - _ ' & .
基本上,我搞不清楚答案。部分。这是我现在拥有的
/^[A-z0-9_]+(-)+$/i
…我不知道这是不是很理想,它适用于它所涵盖的内容
但是,对上述字符进行正则表达式测试的最佳方法是什么?谢谢。你想要什么
var regex = /^[a-z0-9_\-.'&]/i;
这是你想要的吗
var regex = /^[a-z0-9_\-.'&]/i;
我不完全确定您想匹配什么,但看起来您需要字母、数字或符号的任意组合。如果是这种情况,请使用以下方法:
/^[-\w.'&]+$/
请注意,+
可以删除或替换为*
,具体取决于要匹配的字符数
编辑-这意味着什么的一点解释:
-当在字符类的开头使用[-
时,它将作为文本-
。如果在[]括号内使用,则表示一个范围,如-
或a-Z
0-9
-匹配任何字母、任何数字或\w
符号。这通常相当于\u
[a-zA-Z0-9\
-在字符类中,这些字符除了文字字符外没有其他特殊含义&
-表示“至少一次”。如果要允许空字符串,可以将其替换为+
,如果只需要一个字符,可以将其删除,或者使用类似于*
的量词{8}
我不完全确定您想要匹配什么,但看起来您需要字母、数字或符号的任意组合。-&。。如果是这样,请使用以下方法:
/^[-\w.'&]+$/
请注意,+
可以删除或替换为*
,具体取决于要匹配的字符数
编辑-这意味着什么的一点解释:
-当在字符类的开头使用[-
时,它将作为文本-
。如果在[]括号内使用,则表示一个范围,如-
或a-Z
0-9
-匹配任何字母、任何数字或\w
符号。这通常相当于\u
[a-zA-Z0-9\
-在字符类中,这些字符除了文字字符外没有其他特殊含义&
-表示“至少一次”。如果要允许空字符串,可以将其替换为+
,如果只需要一个字符,可以将其删除,或者使用类似于*
的量词{8}
如果您希望匹配上述任何匹配条件,则以下代码应该可以工作任意次数:
/^[a-zA-Z0-9&_.\-']+$/
我已经包括了一些下面的测试示例,在注释中指出了模式应该是有效的还是无效的:
<script type="text/javascript">
//A-z 0-9 - _ ' & .
//valid
var test_string = "This'Is'-Val1d&_.";
if (test_string.match(/^[a-zA-Z0-9&_.\-']+$/)){
alert("first test matched");
}else{
alert("first test did not match");
}
//invalid - whitespace not allowed
test_string = "This IsNot- Va'l1d & _ .";
if (test_string.match(/^[a-zA-Z0-9&_.\-']+$/)){
alert("second test matched");
}else{
alert("second test did not match");
}
//invalid - ! is not allowed
test_string = "'ThisIsNotValid!'";
if (test_string.match(/^[a-zA-Z0-9&_.\-']+$/)){
alert("third test matched");
}else{
alert("third test did not match");
}
</script>
//A-z 0-9-u'&。
//有效的
var test_string=“这是“-Val1d&”;
如果(测试字符串匹配(/^[a-zA-Z0-9&.\-']+$/){
警报(“第一次测试匹配”);
}否则{
警报(“第一次测试不匹配”);
}
//无效-不允许空白
test_string=“这不是-Va'l1d&。”;
如果(测试字符串匹配(/^[a-zA-Z0-9&.\-']+$/){
警报(“第二次测试匹配”);
}否则{
警报(“第二次测试不匹配”);
}
//无效-!不允许
test_string=“'ThisIsNotValid!”;
如果(测试字符串匹配(/^[a-zA-Z0-9&.\-']+$/){
警报(“第三次测试匹配”);
}否则{
警报(“第三次测试不匹配”);
}
如果您希望匹配上述任何匹配条件,则以下代码应该可以工作任意次数:
/^[a-zA-Z0-9&_.\-']+$/
我已经包括了一些下面的测试示例,在注释中指出了模式应该是有效的还是无效的:
<script type="text/javascript">
//A-z 0-9 - _ ' & .
//valid
var test_string = "This'Is'-Val1d&_.";
if (test_string.match(/^[a-zA-Z0-9&_.\-']+$/)){
alert("first test matched");
}else{
alert("first test did not match");
}
//invalid - whitespace not allowed
test_string = "This IsNot- Va'l1d & _ .";
if (test_string.match(/^[a-zA-Z0-9&_.\-']+$/)){
alert("second test matched");
}else{
alert("second test did not match");
}
//invalid - ! is not allowed
test_string = "'ThisIsNotValid!'";
if (test_string.match(/^[a-zA-Z0-9&_.\-']+$/)){
alert("third test matched");
}else{
alert("third test did not match");
}
</script>
//A-z 0-9-u'&。
//有效的
var test_string=“这是“-Val1d&”;
如果(测试字符串匹配(/^[a-zA-Z0-9&.\-']+$/){
警报(“第一次测试匹配”);
}否则{
警报(“第一次测试不匹配”);
}
//无效-不允许空白
test_string=“这不是-Va'l1d&。”;
如果(测试字符串匹配(/^[a-zA-Z0-9&.\-']+$/){
警报(“第二次测试匹配”);
}否则{
警报(“第二次测试不匹配”);
}
//无效-!不允许
test_string=“'ThisIsNotValid!”;
如果(测试字符串匹配(/^[a-zA-Z0-9&.\-']+$/){
警报(“第三次测试匹配”);
}否则{
警报(“第三次测试不匹配”);
}
你也应该将代码与JSFIDLE链接一起作为答案的一部分。仅供参考,你不需要在字符类中逃逸
。哦……别忘了允许-
:)@Justin man我真的应该更加注意我在做什么。我一半在看宇宙,一半在看堆栈溢出。修复ng现在你应该把代码和JSFIDLE链接一起作为你答案的一部分。仅供参考,你不需要在字符类中逃逸。
。哦……别忘了允许-
:)@Justin man我真的应该更加注意我在做什么。我一半在看宇宙,一半在看堆栈溢出。修正现在,为了让我们了解你想要什么,你能给我们几个输入/输出示例吗?你意识到你的[a-z]
没有做你认为的事情吗?为了让我们了解你想要什么,你能给我们几个输入/输出示例吗?你意识到你的[a-z]
没有像你想象的那样做吗?如果你想逐字解释的话,你需要在开篇之后有-
。@justin-在开篇之前有-
可以吗也是吗?@TheDog-太感谢了!效果很好。我试过类似的方法,但可能在