锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
闃塊噷浜戞渶鏂頒環(huán)鏍煎彂甯冿紝12.18鏃?鐐?鏅?鐐硅喘涔幫紝鍐嶄韓5鍒嗛挓鍏嶄竴鍗曘?br />
]]>
<form method=get action="http://www.google.com/search">
<input type=text name=q>
<input type=submit name=btnG value="Google 鎼滅儲">
<input type=hidden name=ie value=GB2312>
<input type=hidden name=oe value=GB2312>
<input type=hidden name=hl value=zh-CN>
<input type=hidden name=domains value="www.williamlong.info">
<input type=hidden name=sitesearch value="www.williamlong.info">
</form>
<!-- 緇撴潫-->
<!--Baidu绔欏唴鎼滅儲寮濮?->
<form action="http://www.baidu.com/baidu">
<input type=text name=word>
<input type="submit" value="Baidu 鎼滅儲">
<input name=tn type=hidden value="bds">
<input name=cl type=hidden value="3">
<input name=ct type=hidden value="2097152">
<input name=si type=hidden value="www.williamlong.info">
</form>
<!--Baidu绔欏唴鎼滅儲緇撴潫-->
<!--Yahoo绔欏唴鎼滅儲寮濮?->
<form action="http://www.yahoo.com.cn/search">
<input type=text name="p">
<input type="submit" value="Yahoo 鎼滅儲">
<input type=hidden name=vs value="www.williamlong.info">
</form>
<!--Yahoo绔欏唴鎼滅儲緇撴潫-->
銆銆涓嬮潰鏄疓oogle鍜岀櫨搴︾殑Javascript鐗堢殑绔欏唴鎼滅儲浠g爜錛?/p>
<!--
<script type="text/javascript">
function googlesearch () {
var wq=document.getElementsByName("wq")[0].value;
var link="http://www.google.com/search?domains=www.williamlong.info&sitesearch=www.williamlong.info&q="+wq;
window.open(link); }
</script>
<input type="text" name="wq"/><input type="submit" onclick="javascript:googlesearch()" value="Google 鎼滅儲" />
<!-- 緇撴潫-->
<!--Baidu绔欏唴鎼滅儲寮濮?->
<script language="javascript">
function baidusearch () {
var wd=document.getElementsByName("wd")[0].value;
var link="http://www.baidu.com/s?si=www.williamlong.info&cl=3&ct=2097152&tn=baidulocal&word="+wd;
window.open(link); }
</script>
<input type="text" name="wd"/><input type="submit" onclick="javascript:baidusearch()" value="Baidu 鎼滅儲" />
<!--Baidu绔欏唴鎼滅儲緇撴潫-->
涓漢灝忕珯閾炬帴 鐖卞偍澶囩綉
create sequence <搴忓垪鍚?/span>縐?/span>>
start with <璧峰鏁?/span>>
increment by <澧為暱閲?/span>>
[maxvalue 鍊?/span>]
[minvalue 鍊?/span>]
[cycle 褰撳埌杈炬渶澶у肩殑鏃跺欙紝灝嗙戶緇粠澶村紑濮?/span>]
[Nocycle -- 涓鐩寸瘡鍔狅紝涓嶅驚鐜?/span>]銆銆
[Cache ]
浜屻丱racal鐨刲pad鍑芥暟
lpad( string1, padded_length, [ pad_string ] ) pad_string鏄釜鍙夊弬鏁幫紝榪欎釜瀛楃涓叉槸瑕佺矘璐村埌string1鐨勫乏杈癸紝濡傛灉榪欎釜鍙傛暟鏈啓錛宭pad鍑芥暟灝嗕細(xì)鍦╯tring1鐨勫乏杈圭矘璐寸┖鏍箋?br />
渚嬪錛?br />
鍏朵腑string1鏄渶瑕佺矘璐村瓧絎︾殑瀛楃涓?br />
padded_length鏄繑鍥炵殑瀛楃涓茬殑鏁伴噺錛屽鏋滆繖涓暟閲忔瘮鍘熷瓧絎︿覆鐨勯暱搴﹁鐭紝lpad鍑芥暟灝嗕細(xì)鎶婂瓧絎︿覆鎴彇鎴?em>padded_length;
lpad('tech', 7);
灝嗚繑鍥? tech'
lpad('tech', 2);
灝嗚繑鍥?te'
lpad('tech', 8, '0');
灝嗚繑鍥?0000tech'
lpad('tech on the net', 15, 'z');
灝嗚繑鍥?nbsp;'tech on the net'
lpad('tech on the net', 16, 'z');
灝嗚繑鍥?nbsp;'ztech on the net'
涓夈丱racal鐨則o_char鍑芥暟
The following are date examples for the to_char function. You will notice that in some examples, the format_mask parameter begins with "FM". This means that zeros and blanks are suppressed. The zeros have been suppressed so that the day component shows as "9" as opposed to "09".
to_char(sysdate, 'yyyy/mm/dd');
would return '2003/07/09'
to_char(sysdate, 'Month DD, YYYY');
would return 'July 09, 2003'
to_char(sysdate, 'FMMonth DD, YYYY');
would return 'July 9, 2003'
to_char(sysdate, 'MON DDth, YYYY');
would return 'JUL 09TH, 2003'
to_char(sysdate, 'FMMON DDth, YYYY');
would return 'JUL 9TH, 2003'
to_char(sysdate, 'FMMon ddth, YYYY');
would return 'Jul 9th, 2003'
This can be seen in the examples below.
to_char(sysdate, 'FMMonth DD, YYYY');
would return 'July 9, 2003'
to_char(sysdate, 'FMMON DDth, YYYY');
would return 'JUL 9TH, 2003'
to_char(sysdate, 'FMMon ddth, YYYY');
would return 'Jul 9th, 2003'
鍥涖佷緥錛?/span>
DROP SEQUENCE test_mySeq;
DROP TABLE test;
CREATE SEQUENCE test_mySeq
START WITH 1001
INCREMENT BY 1
MAXVALUE 9999999999
MINVALUE 1
CYCLE
NOCACHE;
CREATE TABLE test
(
ID VARCHAR2(10) not null,
orderid VARCHAR2(20) not NULL
);
SELECT * FROM test ORDER BY orderid ASC;
INSERT INTO test(ID,orderid)VALUES(to_char(SYSDATE,'yyyymmdd'),'HG-'||to_char(SYSDATE,'yyyymmdd')||lpad(test_mySeq.nextval, 8, '0'));
COMMIT;
杞嚜錛歨ttp://blog.csdn.net/jkant/archive/2009/04/24/4106687.aspx
鍑忚偉鐦﹁韓鍝佹繪眹 鍊煎緱淇¤禆*鑴夎剦緹庡*姝e搧鐜拌揣璋㈢粷璁蹭環(huán) 銆撴繁娓晢鐩熴撳悕鍝佹琛e潑錛堢編鍥戒紤闂插搧鐗孉F緋誨垪錛?/a> QQ涓夊浗娓告垙甯佸強閬撳叿涓撳崠搴?/a> 灝忚劯綰㈢孩鐨勭槮韜棗鑸板簵鍑忚偉鐦﹁韓鍝佹繪眹 鍊煎緱淇¤禆*鑴夎剦緹庡*姝e搧鐜拌揣璋㈢粷璁蹭環(huán) 銆撴繁娓晢鐩熴撳悕鍝佹琛e潑錛堢編鍥戒紤闂插搧鐗孉F緋誨垪錛?/a> QQ涓夊浗娓告垙甯佸強閬撳叿涓撳崠搴?/a> 灝忚劯綰㈢孩鐨勭槮韜棗鑸板簵鍑忚偉鐦﹁韓鍝佹繪眹 鍊煎緱淇¤禆*鑴夎剦緹庡*姝e搧鐜拌揣璋㈢粷璁蹭環(huán) 銆撴繁娓晢鐩熴撳悕鍝佹琛e潑錛堢編鍥戒紤闂插搧鐗孉F緋誨垪錛?/a> QQ涓夊浗娓告垙甯佸強閬撳叿涓撳崠搴?/a> 灝忚劯綰㈢孩鐨勭槮韜棗鑸板簵
<input type="text" onkeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;"/>
鎴栬?
<input onkeyup="if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\D/g,'');"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/\D/g,''))">
5. 鍙兘鏄嫳鏂囧瓧絎﹀拰鏁板瓧
<input onkeyup="value="/oblog/value.replace(/[\W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
6. 楠岃瘉娌圭鏍煎紡
<SCRIPT LANGUAGE=javascript RUNAT=Server>
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("oh");
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>
7. 灞忚斀鍏抽敭瀛?榪欓噷灞忚斀***鍜?***)
<script language="javascript1.2">
function test() {
if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){
alert(":)");
a.b.focus();
return false;}
}
</script>
<form name=a onsubmit="return test()">
<input type=text name=b>
<input type="submit" name="Submit" value="check">
</form>
8. 涓ゆ杈撳叆瀵嗙爜鏄惁鐩稿悓
<FORM METHOD=POST ACTION="">
<input type="password" id="input1">
<input type="password" id="input2">
<input type="button" value="test" onclick="check()">
</FORM>
<script>
function check()
{
with(document.all){
if(input1.value!=input2.value)
{
alert("false")
input1.value = "";
input2.value = "";
}
else document.forms[0].submit();
}
}
</script>
澶熶簡鍚?:)
灞忚斀鍙抽敭 寰堥叿
oncontextmenu="return false" ondragstart="return false" onselectstart="return false"
鍔犲湪body涓?br />
浜?br />
2.1 琛ㄥ崟欏逛笉鑳戒負(fù)絀?br />
<script language="javascript">
<!--
function CheckForm()
{
if (document.form.name.value.length == 0) {
alert("璇瘋緭鍏ユ?zhèn)ㄥ鍚?");
document.form.name.focus();
return false;
}
return true;
}
-->
</script>
2.2 姣旇緝涓や釜琛ㄥ崟欏圭殑鍊兼槸鍚︾浉鍚?br />
<script language="javascript">
<!--
function CheckForm()
if (document.form.PWD.value != document.form.PWD_Again.value) {
alert("鎮(zhèn)ㄤ袱嬈¤緭鍏ョ殑瀵嗙爜涓嶄竴鏍鳳紒璇烽噸鏂拌緭鍏?");
document.ADDUser.PWD.focus();
return false;
}
return true;
}
-->
</script>
2.3 琛ㄥ崟欏瑰彧鑳戒負(fù)鏁板瓧鍜?_",鐢ㄤ簬鐢?shù)璇?閾惰甯愬彿楠岃瘉涓?鍙墿灞曞埌鍩熷悕娉ㄥ唽絳?br />
<script language="javascript">
<!--
function isNumber(String)
{
var Letters = "1234567890-"; //鍙互鑷繁澧炲姞鍙緭鍏ュ?br />
var i;
var c;
if(String.charAt( 0 )=='-')
return false;
if( String.charAt( String.length - 1 ) == '-' )
return false;
for( i = 0; i < String.length; i ++ )
{
c = String.charAt( i );
if (Letters.indexOf( c ) < 0)
return false;
}
return true;
}
function CheckForm()
{
if(! isNumber(document.form.TEL.value)) {
alert("鎮(zhèn)ㄧ殑鐢?shù)璇濆忥L(fēng)爜涓嶅悎娉曪紒");
document.form.TEL.focus();
return false;
}
return true;
}
-->
</script>
2.4 琛ㄥ崟欏硅緭鍏ユ暟鍊?闀垮害闄愬畾
<script language="javascript">
<!--
function CheckForm()
{
if (document.form.count.value > 100 || document.form.count.value < 1)
{
alert("杈撳叆鏁板間笉鑳藉皬浜庨浂澶т簬100!");
document.form.count.focus();
return false;
}
if (document.form.MESSAGE.value.length<10)
{
alert("杈撳叆鏂囧瓧灝忎簬10!");
document.form.MESSAGE.focus();
return false;
}
return true;
}
//-->
</script>
2.5 涓枃/鑻辨枃/鏁板瓧/閭歡鍦板潃鍚堟硶鎬у垽鏂?br />
<SCRIPT LANGUAGE="javascript">
<!--
function isEnglish(name) //鑻辨枃鍊兼嫻?br />
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return false;
}
return true;
}
function isChinese(name) //涓枃鍊兼嫻?br />
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return true;
}
return false;
}
function isMail(name) // E-mail鍊兼嫻?br />
{
if(! isEnglish(name))
return false;
i = name.indexOf(" at ");
j = name dot lastIndexOf(" at ");
if(i == -1)
return false;
if(i != j)
return false;
if(i == name dot length)
return false;
return true;
}
function isNumber(name) //鏁板兼嫻?br />
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charAt(i) < "0" || name.charAt(i) > "9")
return false;
}
return true;
}
function CheckForm()
{
if(! isMail(form.Email.value)) {
alert("鎮(zhèn)ㄧ殑鐢?shù)瀛愰偖錃g涓嶅悎娉曪紒");
form.Email.focus();
return false;
}
if(! isEnglish(form.name.value)) {
alert("鑻辨枃鍚嶄笉鍚堟硶錛?);
form.name.focus();
return false;
}
if(! isChinese(form.cnname.value)) {
alert("涓枃鍚嶄笉鍚堟硶錛?);
form.cnname.focus();
return false;
}
if(! isNumber(form.PublicZipCode.value)) {
alert("閭斂緙栫爜涓嶅悎娉曪紒");
form.PublicZipCode.focus();
return false;
}
return true;
}
//-->
</SCRIPT>
2.6 闄愬畾琛ㄥ崟欏逛笉鑳借緭鍏ョ殑瀛楃
<script language="javascript">
<!--
function contain(str,charset)// 瀛楃涓插寘鍚祴璇曞嚱鏁?br />
{
var i;
for(i=0;i<charset.length;i++)
if(str.indexOf(charset.charAt(i))>=0)
return true;
return false;
}
function CheckForm()
{
if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><")))
{
alert("杈撳叆浜嗛潪娉曞瓧絎?);
document.form.NAME.focus();
return false;
}
return true;
}
//-->
</script>
1. 媯鏌ヤ竴孌靛瓧絎︿覆鏄惁鍏ㄧ敱鏁板瓧緇勬垚
---------------------------------------
<script language="Javascript"><!--
function checkNum(str){return str.match(/\D/)==null}
alert(checkNum("1232142141"))
alert(checkNum("123214214a1"))
// --></script>
2. 鎬庝箞鍒ゆ柇鏄惁鏄瓧絎?nbsp;
---------------------------------------
if (/[^\x00-\xff]/g.test(s)) alert("鍚湁姹夊瓧");
else alert("鍏ㄦ槸瀛楃");
3. 鎬庝箞鍒ゆ柇鏄惁鍚湁姹夊瓧
---------------------------------------
if (escape(str).indexOf("%u")!=-1) alert("鍚湁姹夊瓧");
else alert("鍏ㄦ槸瀛楃");
4. 閭鏍煎紡楠岃瘉
---------------------------------------
//鍑芥暟鍚嶏細(xì)chkemail
//鍔熻兘浠嬬粛錛氭鏌ユ槸鍚︿負(fù)Email Address
//鍙傛暟璇存槑錛氳媯鏌ョ殑瀛楃涓?nbsp;
//榪斿洖鍊鹼細(xì)0錛氫笉鏄?1錛氭槸
function chkemail(a)
{ var i=a.length;
var temp = a.indexOf('@');
var tempd = a.indexOf('.');
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)>0){
return 1;
}
}
}
return 0;
}
5. 鏁板瓧鏍煎紡楠岃瘉
---------------------------------------
//鍑芥暟鍚嶏細(xì)fucCheckNUM
//鍔熻兘浠嬬粛錛氭鏌ユ槸鍚︿負(fù)鏁板瓧
//鍙傛暟璇存槑錛氳媯鏌ョ殑鏁板瓧
//榪斿洖鍊鹼細(xì)1涓烘槸鏁板瓧錛?涓轟笉鏄暟瀛?nbsp;
function fucCheckNUM(NUM)
{
var i,j,strTemp;
strTemp="0123456789";
if ( NUM.length== 0)
return 0
for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
//璇存槑鏈夊瓧絎︿笉鏄暟瀛?nbsp;
return 0;
}
}
//璇存槑鏄暟瀛?nbsp;
return 1;
}
6. 鐢?shù)璇濆忥L(fēng)爜鏍煎紡楠岃瘉
---------------------------------------
//鍑芥暟鍚嶏細(xì)fucCheckTEL
//鍔熻兘浠嬬粛錛氭鏌ユ槸鍚︿負(fù)鐢?shù)璇濆忥L(fēng)爜
//鍙傛暟璇存槑錛氳媯鏌ョ殑瀛楃涓?nbsp;
//榪斿洖鍊鹼細(xì)1涓烘槸鍚堟硶錛?涓轟笉鍚堟硶
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp="0123456789-()# ";
for (i=0;i<TEL.length;i++)
{
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
//璇存槑鏈夊瓧絎︿笉鍚堟硶
return 0;
}
}
//璇存槑鍚堟硶
return 1;
}
7. 鍒ゆ柇杈撳叆鏄惁涓轟腑鏂囩殑鍑芥暟
---------------------------------------
function ischinese(s){
var ret=true;
for(var i=0;i<s.length;i++)
ret=ret && (s.charCodeAt(i)>=10000);
return ret;
}
8. 緇煎悎鐨勫垽鏂敤鎴瘋緭鍏ョ殑鍚堟硶鎬х殑鍑芥暟
---------------------------------------
<script language="javascript">
//闄愬埗杈撳叆瀛楃鐨勪綅鏁板紑濮?nbsp;
//m鏄敤鎴瘋緭鍏ワ紝n鏄闄愬埗鐨勪綅鏁?nbsp;
function issmall(m,n)
{
if ((m<n) && (m>0))
{
return(false);
}
else
{return(true);}
}
9. 鍒ゆ柇瀵嗙爜鏄惁杈撳叆涓鑷?nbsp;
---------------------------------------
function issame(str1,str2)
{
if (str1==str2)
{return(true);}
else
{return(false);}
}
10. 鍒ゆ柇鐢ㄦ埛鍚嶆槸鍚︿負(fù)鏁板瓧瀛楁瘝涓嬫粦綰?
---------------------------------------
function notchinese(str){
var reg=/[^A-Za-z0-9_]/g
if (reg.test(str)){
return (false);
}else{
return(true); }
}
11. form鏂囨湰鍩熺殑閫氱敤鏍¢獙鍑芥暟
---------------------------------------
浣滅敤錛氭嫻嬫墍鏈夊繀欏婚潪絀虹殑input鏂囨湰錛屾瘮濡傚鍚嶏紝璐﹀彿錛岄偖浠跺湴鍧絳夌瓑銆?br />
璇ユ牎楠岀幇鍦ㄥ彧閽堝鏂囨湰鍩燂紝濡傛灉瑕侀拡瀵筬orm閲岄潰鐨勫叾浠栧煙瀵硅薄錛屽彲浠ユ敼鍙樺垽鏂潯浠躲?br />
浣跨敤鏂規(guī)硶錛氬湪瑕佹嫻嬬殑鏂囨湰鍩熶腑鍔犲叆title鏂囧瓧銆傛枃瀛楁槸鍦ㄦ彁紺轟俊鎭紝浣犺鎻愮ず緇欑敤鎴風(fēng)殑璇ュ瓧孌電殑涓枃鍚嶃傛瘮濡傝媯嫻嬬敤鎴峰悕
html濡備笅<input name="txt_1" title="濮撳悕">,褰撶劧錛屾渶濂界敤鍙鍖栧伐鍏鋒瘮濡俤reamweaver浠涔堢殑鏉ョ紪杈戝煙銆?br />
濡傛灉瑕佹嫻嬫暟瀛楃被鍨嬫暟鎹殑璇濓紝鍐嶆妸鍩熺殑id緇熶竴涓簊z.
javascript鍒ゆ柇鏃ユ湡綾誨瀷姣旇緝楹葷儲錛屾墍浠ュ氨娌℃湁鍋氭棩鏈熺被鍨嬫牎楠岀殑紼嬪簭浜?楂樻墜鍙互琛ュ厖銆?br />
紼嬪簭姣旇緝鑽夛紝鍙槸鎻愪緵涓涓濊礬銆傛姏鐮栧紩鐜夛紒 錛氾級
鍝︼紝瀵逛簡錛屽嚱鏁拌皟鐢ㄦ柟娉曪細(xì)< form onsubmit="return dovalidate()">
function dovalidate()
{
fm=document.forms[0] //鍙嫻嬩竴涓猣orm,濡傛灉鏄涓彲浠ユ敼鍙樺垽鏂潯浠?br />
for(i=0;i<fm.length;i++)
{
//媯嫻嬪垽鏂潯浠訛紝鏍規(guī)嵁綾誨瀷涓嶅悓鍙互淇敼
if(fm[i].tagName.toUpperCase()=="INPUT" &&fm[i].type.toUpperCase()=="TEXT" && (fm[i].title!=""))
if(fm[i].value="/blog/="")//
{
str_warn1=fm[i].title+"涓嶈兘涓虹┖!";
alert(str_warn1);
fm[i].focus();
return false;
}
if(fm[i].id.toUpperCase()=="SZ")//鏁板瓧鏍¢獙
{
if(isNaN(fm[i].value))
{ str_warn2=fm[i].title+"鏍煎紡涓嶅";
alert(str_warn2);
fm[i].focus();
return false;
}
}
}
return true;
}
2 >琛ㄥ崟鎻愪氦楠岃瘉綾?
2.1 琛ㄥ崟欏逛笉鑳戒負(fù)絀?br />
<script language="javascript">
<!--
function CheckForm()
{
if (document.form.name.value.length == 0) {
alert("璇瘋緭鍏ユ?zhèn)ㄥ鍚?");
document.form.name.focus();
return false;
}
return true;
}
-->
</script>
2.2 姣旇緝涓や釜琛ㄥ崟欏圭殑鍊兼槸鍚︾浉鍚?br />
<script language="javascript">
<!--
function CheckForm()
if (document.form.PWD.value != document.form.PWD_Again.value) {
alert("鎮(zhèn)ㄤ袱嬈¤緭鍏ョ殑瀵嗙爜涓嶄竴鏍鳳紒璇烽噸鏂拌緭鍏?");
document.ADDUser.PWD.focus();
return false;
}
return true;
}
-->
</script>
2.3 琛ㄥ崟欏瑰彧鑳戒負(fù)鏁板瓧鍜?_",鐢ㄤ簬鐢?shù)璇?閾惰甯愬彿楠岃瘉涓?鍙墿灞曞埌鍩熷悕娉ㄥ唽絳?br />
<script language="javascript">
<!--
function isNumber(String)
{
var Letters = "1234567890-"; //鍙互鑷繁澧炲姞鍙緭鍏ュ?br />
var i;
var c;
if(String.charAt( 0 )=='-')
return false;
if( String.charAt( String.length - 1 ) == '-' )
return false;
for( i = 0; i < String.length; i ++ )
{
c = String.charAt( i );
if (Letters.indexOf( c ) < 0)
return false;
}
return true;
}
function CheckForm()
{
if(! isNumber(document.form.TEL.value)) {
alert("鎮(zhèn)ㄧ殑鐢?shù)璇濆忥L(fēng)爜涓嶅悎娉曪紒");
document.form.TEL.focus();
return false;
}
return true;
}
-->
</script>
2.4 琛ㄥ崟欏硅緭鍏ユ暟鍊?闀垮害闄愬畾
<script language="javascript">
<!--
function CheckForm()
{
if (document.form.count.value > 100 || document.form.count.value < 1)
{
alert("杈撳叆鏁板間笉鑳藉皬浜庨浂澶т簬100!");
document.form.count.focus();
return false;
}
if (document.form.MESSAGE.value.length<10)
{
alert("杈撳叆鏂囧瓧灝忎簬10!");
document.form.MESSAGE.focus();
return false;
}
return true;
}
//-->
</script>
2.5 涓枃/鑻辨枃/鏁板瓧/閭歡鍦板潃鍚堟硶鎬у垽鏂?br />
<SCRIPT LANGUAGE="javascript">
<!--
function isEnglish(name) //鑻辨枃鍊兼嫻?br />
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return false;
}
return true;
}
function isChinese(name) //涓枃鍊兼嫻?br />
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return true;
}
return false;
}
function isMail(name) // E-mail鍊兼嫻?br />
{
if(! isEnglish(name))
return false;
i = name.indexOf(" at ");
j = name dot lastIndexOf(" at ");
if(i == -1)
return false;
if(i != j)
return false;
if(i == name dot length)
return false;
return true;
}
function isNumber(name) //鏁板兼嫻?br />
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charAt(i) < "0" || name.charAt(i) > "9")
return false;
}
return true;
}
function CheckForm()
{
if(! isMail(form.Email.value)) {
alert("鎮(zhèn)ㄧ殑鐢?shù)瀛愰偖錃g涓嶅悎娉曪紒");
form.Email.focus();
return false;
}
if(! isEnglish(form.name.value)) {
alert("鑻辨枃鍚嶄笉鍚堟硶錛?);
form.name.focus();
return false;
}
if(! isChinese(form.cnname.value)) {
alert("涓枃鍚嶄笉鍚堟硶錛?);
form.cnname.focus();
return false;
}
if(! isNumber(form.PublicZipCode.value)) {
alert("閭斂緙栫爜涓嶅悎娉曪紒");
form.PublicZipCode.focus();
return false;
}
return true;
}
//-->
</SCRIPT>
2.6 闄愬畾琛ㄥ崟欏逛笉鑳借緭鍏ョ殑瀛楃
<script language="javascript">
<!--
function contain(str,charset)// 瀛楃涓插寘鍚祴璇曞嚱鏁?br />
{
var i;
for(i=0;i<charset.length;i++)
if(str.indexOf(charset.charAt(i))>=0)
return true;
return false;
}
function CheckForm()
{
if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><")))
{
alert("杈撳叆浜嗛潪娉曞瓧絎?);
document.form.NAME.focus();
return false;
}
return true;
}
//-->
</script>
鍑忚偉鐦﹁韓鍝佹繪眹 鍊煎緱淇¤禆*鑴夎剦緹庡*姝e搧鐜拌揣璋㈢粷璁蹭環(huán) 銆撴繁娓晢鐩熴撳悕鍝佹琛e潑錛堢編鍥戒紤闂插搧鐗孉F緋誨垪錛?/a> QQ涓夊浗娓告垙甯佸強閬撳叿涓撳崠搴?/a> 灝忚劯綰㈢孩鐨勭槮韜棗鑸板簵鍑忚偉鐦﹁韓鍝佹繪眹 鍊煎緱淇¤禆*鑴夎剦緹庡*姝e搧鐜拌揣璋㈢粷璁蹭環(huán) 銆撴繁娓晢鐩熴撳悕鍝佹琛e潑錛堢編鍥戒紤闂插搧鐗孉F緋誨垪錛?/a> QQ涓夊浗娓告垙甯佸強閬撳叿涓撳崠搴?/a> 灝忚劯綰㈢孩鐨勭槮韜棗鑸板簵鍑忚偉鐦﹁韓鍝佹繪眹 鍊煎緱淇¤禆*鑴夎剦緹庡*姝e搧鐜拌揣璋㈢粷璁蹭環(huán) 銆撴繁娓晢鐩熴撳悕鍝佹琛e潑錛堢編鍥戒紤闂插搧鐗孉F緋誨垪錛?/a> QQ涓夊浗娓告垙甯佸強閬撳叿涓撳崠搴?/a> 灝忚劯綰㈢孩鐨勭槮韜棗鑸板簵
<br>
<a href="<%=gateway.payment.payment.CreateUrl()%>"><img src="images/alipay_bwrx.gif" border="0"></a>
</body>
</html>
alipay_notify.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<%request.setCharacterEncoding("gb2312");
String partner = ""; //partner鍚堜綔浼欎即id錛堝繀欏誨~鍐欙級
String privateKey = ""; //partner 鐨勫搴斾氦鏄撳畨鍏ㄦ牎楠岀爜錛堝繀欏誨~鍐欙級
String alipayNotifyURL = "
+ "&partner="
+ partner
+ "¬ify_id="
+ request.getParameter("notify_id");
//鑾峰彇鏀粯瀹滱TN榪斿洖緇撴灉錛宼rue鏄紜殑璁㈠崟淇℃伅錛宖alse 鏄棤鏁堢殑
//濡傛灉浣犵殑鏈嶅姟鍣ㄤ笉鏀寔https璁塊棶鐨勮瘽錛岄渶瑕佺敤鑰佺殑鎺ュ彛鏌ヨ鍦板潃浜嗭紝璁哄潧涓婁細(xì)鍏竷
String responseTxt = gateway.checkURL.checkURL
.check(alipayNotifyURL);
Map params = new HashMap();
//鑾峰緱POST 榪囨潵鍙傛暟璁劇疆鍒版柊鐨刾arams涓?br />
Map requestParams = request.getParameterMap();
for (Iterator iter = requestParams.keySet().iterator(); iter
.hasNext();) {
String name = (String) iter.next();
String[] values = (String[]) requestParams.get(name);
String valueStr = "";
for (int i = 0; i < values.length; i++) {
valueStr = (i == values.length - 1) ? valueStr + values[i]
: valueStr + values[i] + ",";
//valueStr = valueStr + values[i];
}
params.put(name, valueStr);
}
String mysign = com.alipay.util.SignatureHelper.sign(params, privateKey);
//out.println(mysign+"-----"+request.getParameter("sign"));
if (mysign.equals(request.getParameter("sign")) || responseTxt.equals("true") ){
out.println("success");
}
%>
retrun_url.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<%request.setCharacterEncoding("gb2312");
//String partner = ""; //partner鍚堜綔浼欎即id錛堝繀欏誨~鍐欙級
String privateKey = ""; //partner 鐨勫搴斾氦鏄撳畨鍏ㄦ牎楠岀爜錛堝繀欏誨~鍐欙級
// String alipayNotifyURL = "
// + "&partner="
// + partner
// + "¬ify_id="
// + request.getParameter("notify_id");
//鑾峰彇鏀粯瀹滱TN榪斿洖緇撴灉錛宼rue鏄紜殑璁㈠崟淇℃伅錛宖alse 鏄棤鏁堢殑
//String responseTxt = gateway.checkURL.checkURL
// .check(alipayNotifyURL);
//鐢變簬return url鐨勮繑鍥為氱煡錛宯otifyid涓虹┖錛屾棤娉曞埌鏈嶅姟鍣ㄦ煡璇㈢湡鍋囷紝鎵浠ュ彧瑕佹瘮瀵圭鍚嶅氨濂?br />
Map params = new HashMap();
//鑾峰緱POST 榪囨潵鍙傛暟璁劇疆鍒版柊鐨刾arams涓?br />
Map requestParams = request.getParameterMap();
for (Iterator iter = requestParams.keySet().iterator(); iter
.hasNext();) {
String name = (String) iter.next();
String[] values = (String[]) requestParams.get(name);
String valueStr = "";
for (int i = 0; i < values.length; i++) {
valueStr = (i == values.length - 1) ? valueStr + values[i]
: valueStr + values[i] + ",";
//valueStr = valueStr + values[i];
}
params.put(name, valueStr);
}
String mysign = com.alipay.util.SignatureHelper_return.sign(params, privateKey);
//out.println(mysign+"-----"+request.getParameter("sign"));
if (mysign.equals(request.getParameter("sign")) ){
if (request.getParameter("trade_status").equalsIgnoreCase("TRADE_FINISHED")){
// 鍙互鍋氶噸瀹氬悜錛屼篃鍙互鐢ㄦ潵铏氭嫙鐗╁搧鍙戣揣
}
}
%>
SignatureHelper.java
package com.alipay.util;
import gateway.md5.Md5Encrypt;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class SignatureHelper {
public static String sign(Map params, String privateKey) {
Properties properties = new Properties();
for (Iterator iter = params.keySet().iterator(); iter.hasNext();) {
String name = (String) iter.next();
Object value = params.get(name);
if (value == null) {
continue;
}
if (name == null || name.equalsIgnoreCase("sign")
|| name.equalsIgnoreCase("sign_type")) {
continue;
}
properties.setProperty(name, value.toString());
}
String content = getSignatureContent(properties);
return sign(content, privateKey);
}
@SuppressWarnings("unchecked")
public static String getSignatureContent(Properties properties) {
StringBuffer content = new StringBuffer();
List keys = new ArrayList(properties.keySet());
Collections.sort(keys);
for (int i = 0; i < keys.size(); i++) {
String key = (String) keys.get(i);
String value = properties.getProperty(key);
content.append((i == 0 ? "" : "&") + key + "=" + value);
}
return content.toString();
}
public static String sign(String content, String privateKey) {
if (privateKey == null) {
return null;
}
String signBefore = content + privateKey;
// System.out.print(Md5Encrypt.md5(signBefore));
return Md5Encrypt.md5(signBefore);
}
}
SignatureHelper_return.java
package com.alipay.util;
import gateway.md5.Md5Encrypt;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class SignatureHelper_return {
public static String sign(Map params, String privateKey) {
Properties properties = new Properties();
for (Iterator iter = params.keySet().iterator(); iter.hasNext();) {
String name = (String) iter.next();
Object value = params.get(name);
if (value == null) {
continue;
}
if ( name.equalsIgnoreCase("sign")
|| name.equalsIgnoreCase("sign_type")) {
continue;
}
properties.setProperty(name, value.toString());
}
String content = getSignatureContent(properties);
return sign(content, privateKey);
}
@SuppressWarnings("unchecked")
public static String getSignatureContent(Properties properties) {
StringBuffer content = new StringBuffer();
List keys = new ArrayList(properties.keySet());
Collections.sort(keys);
for (int i = 0; i < keys.size(); i++) {
String key = (String) keys.get(i);
String value = properties.getProperty(key);
content.append((i == 0 ? "" : "&") + key + "=" + value);
}
return content.toString();
}
public static String sign(String content, String privateKey) {
if (privateKey == null) {
return null;
}
String signBefore = content + privateKey;
// System.out.print(Md5Encrypt.md5(signBefore));
return Md5Encrypt.md5(signBefore);
}
}
checkURL.java
package gateway.checkURL;
import java.net.*;
import java.io.*;
public class checkURL {
/**
* 瀵瑰瓧絎︿覆榪涜MD5鍔犲瘑
* @param myUrl
*
* @param url
*
* @return 鑾峰彇url鍐呭
*/
public static String check(String urlvalue ) {
String inputLine = "";
try
{
URL url = new URL(urlvalue);
HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String stTemp = "";
while((stTemp = in.readLine()) != null)
{
System.out.println(stTemp);
inputLine = inputLine + stTemp;
}
}
catch(Exception e)
{
e.printStackTrace();
}
return inputLine;
}
}
Md5Encrypt.java
/**
* Alipay.com Inc. Copyright (c) 2004-2005 All Rights Reserved.
*
* <p>
* Created on 2005-7-9
* </p>
*/
package gateway.md5;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* MD5鍔犲瘑綆楁硶
*/
public class Md5Encrypt {
/**
* 瀵瑰瓧絎︿覆榪涜MD5鍔犲瘑
*
* @param text 鏄庢枃
*
* @return 瀵嗘枃
*/
public static String md5(String text) {
MessageDigest msgDigest = null;
try {
msgDigest = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
throw new IllegalStateException("System doesn't support MD5 algorithm.");
}
msgDigest.update(text.getBytes());
byte[] bytes = msgDigest.digest();
byte tb;
char low;
char high;
char tmpChar;
String md5Str = new String();
for (int i = 0; i < bytes.length; i++) {
tb = bytes[i];
tmpChar = (char) ((tb >>> 4) & 0x000f);
if (tmpChar >= 10) {
high = (char) (('a' + tmpChar) - 10);
} else {
high = (char) ('0' + tmpChar);
}
md5Str += high;
tmpChar = (char) (tb & 0x000f);
if (tmpChar >= 10) {
low = (char) (('a' + tmpChar) - 10);
} else {
low = (char) ('0' + tmpChar);
}
md5Str += low;
}
return md5Str;
}
}
payment.java
package gateway.payment;
import java.util.*;
public class payment {
public static String CreateUrl() prestr = prestr + key; //鐢熸垚Md5鎽樿錛?br />
String sign = gateway.md5.Md5Encrypt.md5(prestr); parameter = parameter + "sign=" + sign + "&sign_type=" + sign_type; //榪斿洖鏀粯Url錛?br />
return parameter; 娉ㄦ剰:
{
Date out_trade_no=new Date();
String paygateway = "
String service = "create_direct_pay_by_user";
String partner = ""; //partner鍚堜綔浼欎即ID(蹇呭~)
String sign_type = "MD5";
String subject = "璁㈠崟鍙?" + out_trade_no; //subject 鍟嗗搧鍚嶇О
String body = "浜ゆ槗鍦扮偣鎬諱環(huán)鍖呭惈閭垂"; //body 鍟嗗搧鎻忚堪
String price = "100"; //price 鍟嗗搧鍗曚環(huán) 0.01锝?0000.00
String show_url = "
String quantity = "1";
String payment_type = "1";
String logistics_type = "EXPRESS";//logistic涓虹墿嫻佷俊鎭?br />
String logistics_fee = "2";
String logistics_payment = "SELLER_PAY";
String logistics_type_1 = "EMS";
String logistics_fee_1 = "4";
String logistics_payment_1 = "SELLER_PAY";
String seller_email = ""; //鍗栧璐﹀彿(蹇呭~)
String key = ""; //partner璐︽埛鐨勬敮浠樺疂瀹夊叏鏍¢獙鐮?蹇呭~)
String notify_url = "
String[] Oristr ={ "service="+service, "partner=" + partner, "subject=" + subject, "body=" + body, "out_trade_no=" + out_trade_no, "price=" + price, "show_url=" + show_url, "quantity=" + quantity, "payment_type=" + payment_type, "logistics_type=" + logistics_type, "logistics_fee=" + logistics_fee, "logistics_payment=" + logistics_payment, "logistics_type_1=" + logistics_type_1, "logistics_fee_1=" + logistics_fee_1, "logistics_payment_1=" + logistics_payment_1, "seller_email=" + seller_email, "notify_url=" + notify_url };
Arrays.sort(Oristr);//Sorts the specified array of objects into ascending order
//according to the natural ordering of its elements.
String prestr="";
for (int i = 0; i < Oristr.length; i++)
{
if (i==Oristr.length-1)
{
prestr = prestr + Oristr[i] ;
}
else
{
prestr = prestr + Oristr[i] + "&";
}
}
//鏋勯犳敮浠楿rl錛?br />
String parameter = "";
parameter = parameter + paygateway;
for (int i = 0; i < Oristr.length; i++)
{
parameter = parameter + Oristr[i] + "&";
}
}
}
鍖呯殑浣嶇疆,
鍙傛暟鎺掑簭鏄互瀛楁瘝鐨勬帓搴忔帓鐨?br />
杞嚜:http://m.tkk7.com/etlan/archive/2006/06/30/55990.html
]]>