我的验证码有什么问题?(正则表达式很好)
What is wrong with my validation code? (Regex is fine)
我在这里使用正则表达式jQuery Youtube URL Validation with regex
^(?:https?:'/'/)?(?:www'.)?(?:youtu'.be'/|youtube'.com'/(?:embed'/|v'/|watch'?v=|watch'?.+&v=))(('w|-){11})(?:'S+)?$
在这里工作正常 https://regex101.com/#javascript
但是我的代码不起作用 - 我正在使用jquery.validate.min.js和其他方法.js
我下面的代码适用于其他正则表达式,但这个代码不起作用,它总是说无效:
var yt = new RegExp("^(?:https?:'/'/)?(?:www'.)?(?:youtu'.be'/|youtube'.com'/(?:embed'/|v'/|watch'?v=|watch'?.+&v=))(('w|-){11})(?:'S+)?$");
$("#submit-form").validate({
// Specify the validation rules
rules: {
yturl: {
required: true,
minlength: 3,
pattern: yt
}
},
messages: {
yturl: {
pattern: "Wrong url"
}
}
谢谢
除非必须,否则不要使用字符串和RegExp()
构造函数。使用本机正则表达式文本:
var yt = /^(?:https?:'/'/)?(?:www'.)?(?:youtu'.be'/|youtube'.com'/(?:embed'/|v'/|watch'?v=|watch'?.+&v=))(('w|-){11})(?:'S+)?$/;
字符串词法语法还将反斜杠字符识别为元字符,因此您必须通过加倍来引用它们。如果您将表示法用于正则表达式文本,则不必担心这一点。
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- Javascript正则表达式空格很古怪
- 比这更好的正则表达式方法
- 进行此正则表达式替换的好方法
- 我的验证码有什么问题?(正则表达式很好)
- 我的正则表达式应该只接受基于拉丁文的字符,但它的行为却很奇怪
- 在Node.js中实现更好的正则表达式的方法
- 使正则表达式更好
- 是否有更好和/或更快的方法来执行这个正则表达式
- 声明正则表达式的更好方法
- V8会自动缓存编译好的正则表达式吗?