gpt4 book ai didi

javascript 验证 - 只允许一个大写字母

转载 作者:行者123 更新时间:2023-11-30 07:10:46 26 4
gpt4 key购买 nike

我需要添加一些验证,只允许在可能包含空格的字符串中使用一个大写字母。大写字母可以在字符串中的任何位置,但只能使用一次或根本不使用。

我打算将下面的解决方案作为一个单独的规则合并,但我有一点验证并想知道我是否可以调整它以获得所需的结果:

// Validate Sentence Case
if(dataEntryCaseId.toString().match("4")){
var newValue = toTitleCase(value);
if(newValue != value){
for(var x = 1, j = value.length; x < j; x++){
if(value.charAt(x) != newValue.charAt(x)){
valid = false;
$("#text_10").attr({"value":$("#text_10").attr("value").replace(value.charAt(x), "")});
finalVal = finalVal.replace(value.charAt(x), "");
}
}
}
}


if(!valid){
for(var x = 0, j = styleNoteJsonData.styleGroupNote.length; x < j; x++){
if(styleNoteJsonData.styleGroupNote[x].styleName == styleGroupName){
alert(styleNoteJsonData.styleGroupNote[x].styleNote);
$(".styleNote").addClass("alertRed");
SendErrorMessage(styleNoteJsonData.styleGroupNote[x].styleNote);
}
}

最佳答案

"this is A way to do it with regex".match(/^[^A-Z]*[A-Z]?[^A-Z]*$/)

正则表达式分解成这样...

字符串开头 (^) 后跟非大写字母 ([^A-Z]) 零次或多次 (*) 后跟可选 (?) 大写字母 ([A-Z]) 后跟非大写字母 ([^A-Z]) 零次或多次 (*) 后跟字符串结尾 ($)


编辑:基于@IAbstractDownvoteFactory 回答的想法的更简单的方法

var string = "This is a simple way to do it"

// match all capital letters and store in array x
var x = string.match(/[A-Z]/g)

// if x is null, or has length less than 2 then string is valid
if(!x || x.length < 2){
// valid
} else {
// not valid
}

正则表达式匹配所有大写字母,并返回一个匹配数组。数组的长度就是有多少个大写,所以小于2返回true。

关于javascript 验证 - 只允许一个大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7366817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com