javascript - python设置变量等于null如果没有输入否则不是特定类型然后是字符串
问题描述
我正在制作一个板,您可以在其中发布文本、链接、照片和视频。我为此使用python烧瓶,JavaScript
对于视频发布部分,我希望用户输入 YouTube 链接 URL,并将其设置为自动更改为嵌入地址。我的 python 和 ajax 代码适用于 YouTube URL 格式,但问题是当用户没有为视频 URL 输入任何内容或将随机字母或非 YouTube 链接格式放入视频链接输入时。
Python
@app.route('/post', methods=['POST'])
def savingPost():
...
link = request.form['video_give'].split("=")[1]
embed = "https://www.youtube.com/embed/"
video = embed + link
doc = {
...
'video': video,
...
}
db.collection.insert_one(doc)
return jsonify({'msg': 'Posted!'})
javascript
function postArticle(img_location) {
...
let video = $('#post-video').val();
...
$.ajax({
type: "POST",
url: "/post",
data: {..., video_give: video},
success: function (response) {
alert(response["msg"]);
}
})
}
如何为无输入或 youtube 格式以外的情况设置代码?
解决方案
一个有助于解决这个问题的类似问题是Regex for youtube URL。
您可以RegExp
在发送请求之前使用 s 验证 youtube 链接。
const ytRegex = /^(https?\:\/\/)?(www\.)?(youtube\.com|youtu\.?be)\/.+$/
function postArticle(img_location) {
...
let video = $('#post-video').val();
if (ytRegex.test(video)){
// Good format
} else {
// Bad format
}
...
}
推荐阅读
- c - 在快捷键上设置菜单项的状态
- jquery - jQuery Tablesorter:排序和过滤可编辑列
- vue.js - 在 div vuejs 中添加 Html 元素
- mysql - 如何获得所有客户的前 3 个订单?
- html - Java Servlet 和 JSP 最初无法从会话中查看数组列表
- android - .KML 文件中的地标未显示在地图视图上
- php - 在同一台机器上运行 wamp (php 5.6) 和 xampp (7.2) 时,xampp 没有采用 php 7.2 版本,如何克服它?
- ruby-on-rails - Rails 中的多态 has_many_through
- python - 将 bbox_inches 设置为 'tight' 进行保存会更改显示坐标
- powerbi - 在 Power BI 中对堆栈条形图进行排序