js排除特定字符串问题

夜醉长安 2007-05-10 08:49:43
小弟近日写程序遇到一问题
比如 允许任意的字母序列,但排除一个特定的,比如 shit
用正则表达式如何实现 谢谢
由于某些其他的原因,只能允许这样的形式

/^*************************$/
比如/^\d+$/

再次谢谢各位大虾
...全文
712 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
joegu 2007-05-23
  • 打赏
  • 举报
回复
jf
jinjuduo 2007-05-11
  • 打赏
  • 举报
回复
我刚刚看了那个validator3.0的测试页面,你是不是想对输入的用户名进行限制,你有没有3.0版本的下载地址,有的话请发给我一个或者贴出地址,1.0和3.0是基于不同的原理实现的。
他可能是把限制的用户名放在value内,最后通过getAttribute("value")的结果进行的验证。好像不能通过正则直接验证。

以上内容给你个参考。
  • 打赏
  • 举报
回复
收藏 学习
夜醉长安 2007-05-10
  • 打赏
  • 举报
回复
我参考的我佛山人的那个validator
只能改一个正则表达式
那个网上有
jinjuduo 2007-05-10
  • 打赏
  • 举报
回复
正则必须与其他结合才能起作用,单纯表达式是不能有作用的。

或者看看你的函数怎么写的,贴出来看看
jinjuduo 2007-05-10
  • 打赏
  • 举报
回复
<script>
function checkInput(txtInput)
{
var txtStr=txtInput.value;
var reg = /shit|[^a-z]/ig;
if(reg.test(txtStr))
txtInput.value=txtStr.substring(0,txtStr.length-1);
}
</script>
<input type="text" name="textfield" onkeyUp="return checkInput(this)">

夜醉长安 2007-05-10
  • 打赏
  • 举报
回复
结果差不多
但是不是我想要的
我需要的不是整段的代码
只要一个正则表达式
因为我只能改这部分
必须是//之间的内容
jinjuduo 2007-05-10
  • 打赏
  • 举报
回复
<script>
function checkInput(txtInput)
{
var txtStr=txtInput.value;
var reg = /shit/ig;
if(reg.test(txtStr))
txtInput.value=txtStr.substring(0,txtStr.length-1);
}
</script>
<input type="text" name="textfield" onkeyUp="return checkInput(this)">
不允许输入shit,不知这是你与要的吗?
但是不完美,没有限制都是字母,等下在弄,
夜醉长安 2007-05-10
  • 打赏
  • 举报
回复
哦 明白了 
因为我要实现的是 在文本框的后面 提示错误信息
比如 姓名:_shit__ *输入不合法

不会在js里面实现这种效果,所以借用别人的部分代码,但是正则表达式要自己写
所以我只能写//之间的这一部分
呵呵 不知楼上听懂没? 谢谢你的热心帮助.
另: 不知楼上知道不知道怎么在文本框后面提示错误信息? 而不是弹出窗口
如果可以 那就方便多了 呵呵
melodywithme 2007-05-10
  • 打赏
  • 举报
回复
排除?请说清楚是什么意思?
var patrn=/shit|ctrl|alt/;//把这句重新粘贴下,上面的有全角符号

obj.value=obj.value.replace(patrn,"");//这句不是把上面的三个(如果只有这三个)去掉了吗?
夜醉长安 2007-05-10
  • 打赏
  • 举报
回复
谢谢楼上的两位
不过我试了两位的代码
好像不行
我好像没看见那个语句是排除的
楼上的写的好像是只允许那三个单词把?你的代码直接copy运行不了
还是谢谢你们 呵呵
melodywithme 2007-05-10
  • 打赏
  • 举报
回复
<body>
<form>
<input type="text" id="txt">
<input type="button" value="check" onclick="a()">
</form>
<script language="javascript">
function a(){
var obj=document.getElementById("txt");
var patrn=/shit|ctrl|alt/;
//排除shit,ctrl,alt如果还有其它要求,可在上面正则中加入
if (patrn.test(obj.value))
alert("非法格式");
obj.value=obj.value.replace(patrn,"");//也可把这个替换
}
</script>
</body>
jinjuduo 2007-05-10
  • 打赏
  • 举报
回复
<script>
var str="iwurwebwudhshitwded";
re=/^[a-z]*?(shit|sex)[a-z]*$/ig;
if(re.test(str))
alert("feifa");
else
alert("ok");
试试,不知道满足否?

87,902

社区成员

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

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