js 验证文本框中是否包含大写英文字母和数字...

sy261744986 2011-07-27 09:14:48
问题1:当我在文本框中输入一组字符串...如:"12324542152"时,js验证字符串是否包含大写英文字母,个数不能少于6个...不符合提示错误,反之提示正确(输入如:"A23AD3UE78Q9P3"js提示正确)...

问题2:和问题1性质是一样的只是需要判断字符串是否包含数字,个数是不能少于5个...不符合提示错误,反之提示正确(输入:"AESADSADASAS" 提示错误,输入:"AE2DS45SF5D77"提示正确)

还有能否把问题1和问题2合并成一个js来写...如果可以最好合并在一起要是不行分开写也可以...求大家帮忙
...全文
1806 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2011-07-27
  • 打赏
  • 举报
回复
- - !
s1120624175 2011-07-27
  • 打赏
  • 举报
回复
- - 贝兔子党抢走了。。。。
sy261744986 2011-07-27
  • 打赏
  • 举报
回复
s1120624175 这位朋友实在抱歉...一激动发分给错了....下次一定把分奉上
sy261744986 2011-07-27
  • 打赏
  • 举报
回复
十分感谢各位...结贴
q107770540 2011-07-27
  • 打赏
  • 举报
回复

//-------------------1---------------
var data = [
"12324542152",
"A23AD3UE78Q9P3"
];
var reg1 = /^[A-Z0-9]{6,}$/;

for (var i = 0; i < data.length; i++) {
if (reg1.test(data[i])) {
if (!/[A-Z]/.test(data[i]) || !/[0-9]/.test(data[i])) {
alert(data[i] + " " + "error .");
}
else
alert(data[i] + " " + "success .");
}
else
alert(data[i] + " " + "error .");
}


//-------------------2---------------
for (var i = 0; i < data.length; i++) {
if (reg1.test(data[i])) {
if (!/[A-Z]/.test(data[i]) || !/[0-9]/.test(data[i])) {
alert(data[i] + " " + "error .");
}
else {
if (data[i].match(/[0-9]/g).length >= 5) {
alert(data[i]+" success and no. length larger than 5");
}
else {
alert(data[i]+" success and no. length small than 5");
}
}
}
else
alert(data[i] + " " + "error .");
}
s1120624175 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 s1120624175 的回复:]
就是这样"string".search(/(([A-Z]([^A-Z]*)?){6}|(\d([^\d]*)?){5})/g);
[/Quote]
sy261744986 2011-07-27
  • 打赏
  • 举报
回复
可以这样理解...把问题1和问题2归为一个问题...就是说我在文本框中
输入"AASADSAADSADSA" 时js会提示错误(必须要包含至少5个数字)
输入"2314213213213" 时js会提示错误(必须要包含至少6个大写英文字母)
输入"23A21DS3FD213" 时js提示错误
输入"SAD34FD1S9" 时js提示错误

输入"SAD34FD1S95DY" 时js提示正确(输入的大写字母大于等于6个,数字大于等于5个)
输入"1SAD34FDC1S95DY" 时js提示正确 (输入的大写字母大于等于6个,数字大于等于5个)

字符串长度我可以限定 只要符合问题1和问题2这两项就可以...
q107770540 2011-07-27
  • 打赏
  • 举报
回复

//--------------1-----------------
<script type="text/javascript">
var data = [
"12324542152",
"A23AD3UE78Q9P3"
];
var reg1 = /^[A-Z0-9]{6,}$/;

for (var i = 0; i < data.length; i++) {
if (reg1.test(data[i])) {
if (!/[A-Z]/.test(data[i]) || !/[0-9]/.test(data[i])) {
alert(data[i] + " " + "error .");
}
else
alert(data[i] + " " + "success .");
}
else
alert(data[i] + " " + "success .");
}
</script>
s1120624175 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 s1120624175 的回复:]

引用 4 楼 s1120624175 的回复:

第一个 ([A-Z]([^A-Z])?){6}

献上正则两个
第一个
([A-Z]([^A-Z]*)?){6}
第二个
(\d([^\d]*)?){5}
[/Quote]
不过你说的合并是什么 符合两个都对的话
就是这样"string".search(/(([A-Z]([^A-Z]*)?){6}|(\d([^\d]*)?){5})/g);
s1120624175 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 s1120624175 的回复:]

第一个 ([A-Z]([^A-Z])?){6}
[/Quote]
献上正则两个
第一个
([A-Z]([^A-Z]*)?){6}
第二个
(\d([^\d]*)?){5}
MuBeiBei 2011-07-27
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<input type="text" id="te" />
<input type="button" value="text" id="btn" />
<script>
document.getElementById('btn').onclick = function(){
var value = document.getElementById('te').value,count = 0;
if(value.length >= 6){
if(value == value.toUpperCase()){
for(var i = 0; i < value.length; i++){

if((+value.charAt(i)) > 0){
count++;
}
}
if(count > 5){
alert('输入正确');
}
}
}else{
alert('输入字符少于6个');
}
};
</script>
</body>
</html>



改了一下,上面那个是数字等于5个。。。这个是数字大于5个
s1120624175 2011-07-27
  • 打赏
  • 举报
回复
第一个 ([A-Z]([^A-Z])?){6}
MuBeiBei 2011-07-27
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<input type="text" id="te" />
<input type="button" value="text" id="btn" />
<script>
document.getElementById('btn').onclick = function(){
var value = document.getElementById('te').value,count = 0;
if(value.length >= 6){
if(value == value.toUpperCase()){
for(var i = 0; i < value.length; i++){

if((+value.charAt(i)) > 0){
count++;
}
}
if(count == 5){
alert('输入正确');
}
}
}else{
alert('输入字符少于6个');
}
};
</script>
</body>
</html>
knightzhuwei 2011-07-27
  • 打赏
  • 举报
回复
问题1:输入:"AESADSADASAS"提示错误还是正确?
问题2:输入:"12324542152"提示错误还是正确?
sy261744986 2011-07-27
  • 打赏
  • 举报
回复
补充下字符串是随机的没有固定格式之分...

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧