js排除特定字符串问题 小弟近日写程序遇到一问题比如 允许任意的字母序列,但排除一个特定的,比如 shit用正则表达式如何实现 谢谢由于某些其他的原因,只能允许这样的形式/^*************************$/比如/^\d+$/再次谢谢各位大虾 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script>var str="iwurwebwudhshitwded";re=/^[a-z]*?(shit|sex)[a-z]*$/ig;if(re.test(str))alert("feifa");elsealert("ok");试试,不知道满足否? <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> 谢谢楼上的两位不过我试了两位的代码好像不行我好像没看见那个语句是排除的楼上的写的好像是只允许那三个单词把?你的代码直接copy运行不了还是谢谢你们 呵呵 排除?请说清楚是什么意思?var patrn=/shit|ctrl|alt/;//把这句重新粘贴下,上面的有全角符号obj.value=obj.value.replace(patrn,"");//这句不是把上面的三个(如果只有这三个)去掉了吗? 哦 明白了 因为我要实现的是 在文本框的后面 提示错误信息比如 姓名:_shit__ *输入不合法不会在js里面实现这种效果,所以借用别人的部分代码,但是正则表达式要自己写所以我只能写//之间的这一部分呵呵 不知楼上听懂没? 谢谢你的热心帮助.另: 不知楼上知道不知道怎么在文本框后面提示错误信息? 而不是弹出窗口如果可以 那就方便多了 呵呵 <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,不知这是你与要的吗?但是不完美,没有限制都是字母,等下在弄, <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)"> 我刚刚看了那个validator3.0的测试页面,你是不是想对输入的用户名进行限制,你有没有3.0版本的下载地址,有的话请发给我一个或者贴出地址,1.0和3.0是基于不同的原理实现的。他可能是把限制的用户名放在value内,最后通过getAttribute("value")的结果进行的验证。好像不能通过正则直接验证。以上内容给你个参考。 脚本代码有点看不懂,求助各位大虾们! 关于连接的JS不工作的问题 点击链接弹出指定页面指定ID内容,要怎么做? 点击下一个按钮,<s:select>自动选择下一个option,提交到后台的效果,请高手帮忙 这个正则谁能给我讲讲啊! 请问这段代码,在js中称为什么,比如定义对象、数组,或其它,谢谢 颜色选择的问题 jQuery的小问题,帮忙给看看吧高手! 请问怎样在状态栏显示网页的最后更新时间? 关于页面刷新的问题? JavaScript去除空格的三种方法 javascript 读取excel文件的性能问题,高手请进...
var str="iwurwebwudhshitwded";
re=/^[a-z]*?(shit|sex)[a-z]*$/ig;
if(re.test(str))
alert("feifa");
else
alert("ok");
试试,不知道满足否?
<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>
不过我试了两位的代码
好像不行
我好像没看见那个语句是排除的
楼上的写的好像是只允许那三个单词把?你的代码直接copy运行不了
还是谢谢你们 呵呵
var patrn=/shit|ctrl|alt/;//把这句重新粘贴下,上面的有全角符号obj.value=obj.value.replace(patrn,"");//这句不是把上面的三个(如果只有这三个)去掉了吗?
因为我要实现的是 在文本框的后面 提示错误信息
比如 姓名:_shit__ *输入不合法不会在js里面实现这种效果,所以借用别人的部分代码,但是正则表达式要自己写
所以我只能写//之间的这一部分
呵呵 不知楼上听懂没? 谢谢你的热心帮助.
另: 不知楼上知道不知道怎么在文本框后面提示错误信息? 而不是弹出窗口
如果可以 那就方便多了 呵呵
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,不知这是你与要的吗?
但是不完美,没有限制都是字母,等下在弄,
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)">
他可能是把限制的用户名放在value内,最后通过getAttribute("value")的结果进行的验证。好像不能通过正则直接验证。以上内容给你个参考。