screen_rotation
Copied to Clipboard
<!DOCTYPE html> <html> <head> <script src="https://unpkg.com/vue@3.2.12/dist/vue.global.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" integrity="sha512-9usAa10IRO0HhonpyAIVpjrylPvoDwiPUiKdWk5t3PyolY1cOd4DSE0Ga+ri4AuTroPR5aQvXU9xC6qOPnzFeg==" crossorigin="anonymous" referrerpolicy="no-referrer" /> </head> <body> <div id="app"> <h3>Vue Js Validate URL</h3> <input v-model="url" /> <button @click="validateUrl">Validate</button> <p v-if="urlError" class="error">{{ urlError }}</p> </div> <script type="module"> const app = Vue.createApp({ data() { return { url: '', urlError: '' }; }, methods: { validateUrl() { // Regular expression to validate the URL const urlPattern = /^(ftp|http|https):\/\/[^ "]+$/; if (this.url === '') { this.urlError = 'URL is required.'; } else if (!urlPattern.test(this.url)) { this.urlError = 'Invalid URL format.'; } else { this.urlError = ''; } } } }); app.mount('#app'); </script> <style> #app { text-align: center; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.24); width: 600px; margin: 0 auto; transition: transform 0.3s ease; } h3 { font-size: 24px; margin-bottom: 20px; } input { padding: 10px; border: 1px solid #ccc; border-radius: 5px; width: 300px; margin-bottom: 10px; } button { padding: 10px 20px; background-color: #007bff; color: #fff; border: none; border-radius: 5px; cursor: pointer; } button:hover { background-color: #0056b3; } .error { color: red; margin-top: 10px; } </style> </body> </html>