Multi-validation for user input in JavaScript

When working with JavaScript, I have encountered a challenge where I need to validate an input that can only accept either 11 numeric characters or 17 alphabetic characters.

Individually, I am able to check for one of these conditions but struggling to implement both simultaneously. I am unsure of how to proceed in solving this issue.

Does anyone have any suggestions on how I can overcome this obstacle?

Answer №1

-retrieve the input value:-

For example:- If you are using Id:- document.getElementById('textbox_id').value to obtain the value of the desired box

You can utilize regex :-

to validate 10 digits

var str='01234567891';
console.log(/^\d{11}$/.test(str));

to match 17 alphanumeric Characters

var reg= new RegExp('[a-zA-Z0-9]{17}');
console.log(reg.test("1234567890qwertyu"))

You can combine both to verify if the desired condition is met

Merging everything

var str = document.getElementById('textbox_id').value
var reg= new RegExp('[a-zA-Z0-9]{17}');


if(reg.test(str) || /^\d{11}$/.test(str)){

}
else{

}

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Exploring advanced mathematical calculations in QtQuick Qml with JavaScript for handling large numbers

I need to calculate the orbit of the Sun around the Galaxy. The mathematical formula I am using is ((241828072282107.5071453596951 * 666) * 2) * 3.14159265359. In QML JavaScript, I received the answer 1011954093357316100, but the correct answer is 10119540 ...

Async/await is restricted when utilizing serverActions within the Client component in next.js

Attempting to implement an infinite scroll feature in next.js, I am working on invoking my serverAction to load more data by using async/await to handle the API call and retrieve the response. Encountering an issue: "async/await is not yet supported ...

What causes a double fill when assigning to a single cell in a 2-dimensional array in Javascript?

I stumbled upon this code snippet featured in a challenging Leetcode problem: function digArtifacts(n: number, artifacts: number[][], dig: number[][]): number { const land: boolean[][] = new Array(n).fill(new Array(n).fill(false)) console.log ...

Error detected in Deno project's tsconfig.json file, spreading into other project files - yet code executes without issues?

I am working on a Deno project and need to utilize the ES2019 flatMap() method on an array. To do this, I have created a tsconfig.json file with the following configuration: { "compilerOptions": { "target": "es5", ...

What is the best way to calculate the total sum of values in textboxes sharing the same class that were dynamically created through ajax calls

Looking for assistance to calculate the sum of values in textboxes generated dynamically through AJAX. The textboxes have the class name adminhours and are created via AJAX. The total sum should be displayed in another textbox when there is a change event ...

Modify the font style of numbers based on the keyboard language selected by the user

Is it possible to change the font family of numbers in input fields based on the user's keyboard language? For example, if the user is typing in Persian, the numbers should be displayed in a Persian font, and when they switch to an English keyboard, t ...

What are the steps to setting up Webpack-simple with Vue Cli 3?

I'm completely new to Vue Cli and the Vue framework in general, so any help is appreciated! From what I understand, in Vue Cli 2, the command was something like this: Vue init webpack-simple xxx However, with the latest major update (3), it has cha ...

What is the best way to confirm if a specific input is included in a JSON array?

This data belongs to me Each time a user inputs a code, it must be unique. If the value already exists, an error message should be displayed indicating that the branch code already exists. branches: [ { code: "test", na ...

Fixing Half Screen Sidebars

I have a query regarding my coding problem. I am trying to create two pop-ups that occupy half of each screen. As I am new to JavaScript and jQuery, I want to ensure that I am doing it correctly. Is there a way for the left side to slide out from the left ...

Modify the behavior of the tab key using JavaScript

I'm currently working on a text editor embedded within a contenteditable div. My goal is to modify the [TAB] functionality so that instead of shifting focus to the next element (as is done by default in browsers), it will either insert spaces or a &b ...

Is there a way to retrieve the ReturnType of functions based on a parameter list in Typescript?

I am struggling with defining a main function myMainFunction() that accepts a list of functions with different return types as parameters. My goal is to have the return type of myMainFunction be determined by the return types of the functions passed to it ...

What is the method for triggering the output of a function's value with specified parameters by clicking in an HTML

I am struggling to display a random number output below a button when it is clicked using a function. <!DOCTYPE html> <html> <body> <form> <input type="button" value="Click me" onclick="genRand()"> </form> <scri ...

Why is my React Native TouchableOpacity onPress function not functioning properly?

Embarking on my journey with React Native (or any JS framework for that matter), I decided to delve into creating a simple tap game. The concept is straightforward: tap on the blue square, watch it randomly relocate, and repeat the process. Here is a snipp ...

Form validation using jQuery and AJAX

I've implemented validation in my ResetPassword function and it seems to be working fine. However, I'm facing an issue where the ResetPassword function stops working once the validation is added. Can someone guide me on how to resolve this issue? ...

What is the procedure for obtaining the factory of an element in situations where the element's class is not

Currently, I am facing a challenge with React where I have a single React element and I want to generate additional elements with the same class. The issue is that I am not aware of the class name, only the instance of the element. When using React.create ...

Tips for creating a state change function using TypeScript

Imagine the temperature remains constant for 20 minutes, but at the 21st minute, it changes. The state change is determined by a programmable state change function. How can I create a function to calculate the difference in state change? if(data.i ...

Tips for maintaining the position of a camera in three.js while also keeping its rotation fixed on the origin

In three.js, I'm looking to dynamically adjust my camera's position while ensuring that its rotation automatically aligns with the world origin. For instance, if the camera is initially set at: camera.position.set(25,25,25) I aim to have the ...

Why bother re-rendering components in React that haven't had any changes in their state?

Within my main component, I have both a state and a static component nested inside. An issue arises when the state changes and triggers a re-render of the main component, causing the static component to also re-render unnecessarily. import { useState } fro ...

What is the most efficient way to retrieve a document from pouchdb that includes the revision attribute?

I am currently developing an application using the electron framework and integrating pouchdb. As certain values in my database are dynamic and constantly changing, I am looking for a way to track these changes without having to create new documents for ea ...

Executing JavaScript function on AJAX update in Yii CGridView/CListView

Currently, I am integrating isotope with Yii for my CListView and CGridView pages to enhance their display. While everything functions smoothly, an issue arises when pagination is utilized, and the content on the page is updated via ajax, causing isotope ...