如何验证输入字段以确保Javascript中的特定字符串模式

How to validate input fields ensuring specific string patterns in Javascript

本文关键字:Javascript 模式 字符串 确保 何验证 验证 字段 输入      更新时间:2023-09-26

尝试验证用户是否输入了以字母开头的名称,长度至少为8个字符,并且其中至少有一个数字。请参阅下面的代码:-

我能够实现的前两个条件是,它验证了里面是否有数字。我试着在只进行数字验证的情况下独自运行一个函数,但我似乎无法让它发挥作用。这是我最近的一次尝试,如果有任何帮助,我们将不胜感激,请记住,我是一名一年级学生:)

function nameVerify() {
    var char1;
    var char2;
    var index;
    var NL = "'n";
    var valid = false;

    char1 = useNam.substr(0, 1);
    char1 = char1.toUpperCase();
    char2 = useNam.substr(1);
    for (index = 1; index <=useNam.length; index++){        
    while (!valid) {
    if ((char1 <"A" || char1 >"Z") || (useNam.length <8) && (char2 >=0 || char2 <=9)){
        alert("alert 1");
        useNam = prompt("prompt 2");
        char1 = useNam.substr(0, 1);
        char1 = char1.toUpperCase();
        char2 = useNam.substr(1);           

        }
    else {
        valid = true;
        alert("Congragulations, you entered it correctly");
    }
    }
    }}      

var useNam;
useNam = prompt("prompt 1");
result = nameVerify(useNam);
/**
 * @param {string} str name to test
 * @return {boolean} true if str is valid
 */
function isValidName(str) {
  return /^[a-zA-Z][a-zA-Z0-9]{7,}$/.test(str) && /'d/.test(str)
}

/^[a-zA-Z][a-zA-Z0-9]{7,}$/测试它以字母开头,长度至少为8个字符,并且所有字符都是字母或数字。/'d/测试它是否至少包含1个数字。请参阅MDN的RegExp文档以获取参考,特别是关于其中描述的特殊字符和x{n,}语法的参考。如果您也允许使用下划线,那么您可以在第一次测试中使用/^[a-zA-Z]'w{7,}$/

试试这个

valid = myString.match(/'d/).length > 0

这是一个正则表达式,将返回它匹配的第一个数字或一个空数组,否则